From a156f4ce9f0eda3ff54633d4bcb7051388d2f39b Mon Sep 17 00:00:00 2001 From: Hivert Quentin Date: Mon, 10 Aug 2026 16:17:44 +0200 Subject: [PATCH] fix(passwordRecoveyr): get the domain from the user mail --- UI/MainUI/SOGoRootPage.m | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/UI/MainUI/SOGoRootPage.m b/UI/MainUI/SOGoRootPage.m index 7556723d6..f5f0eeecd 100644 --- a/UI/MainUI/SOGoRootPage.m +++ b/UI/MainUI/SOGoRootPage.m @@ -1316,7 +1316,7 @@ static const NSString *kJwtKey = @"jwt"; */ - (WOResponse *) passwordRecoveryEmailAction { - NSString *username, *domain, *mode, *uid, *mailDomain, *fromEmail, *toEmail, *jwtToken, *url, *mailContent; + NSString *username, *domain, *mode, *uid, *mailDomain, *fromEmail, *toEmail, *jwtToken, *url, *mailContent, *email; NSDictionary *message, *info; WORequest *request; SOGoUserManager *um; @@ -1333,7 +1333,6 @@ static const NSString *kJwtKey = @"jwt"; message = [[request contentAsString] objectFromJSONString]; username = [message objectForKey: @"userName"]; domain = [message objectForKey: @"domain"]; - mailDomain = [message objectForKey: @"mailDomain"]; mode = [message objectForKey: @"mode"]; um = [SOGoUserManager sharedUserManager]; jwtToken = [request formValueForKey:@"token"]; @@ -1345,14 +1344,6 @@ static const NSString *kJwtKey = @"jwt"; ownerUser = [SOGoUser userWithLogin: username]; dd = [ownerUser domainDefaults]; - // Email recovery - - // Create email from - if (mailDomain) { - fromEmail = [NSString stringWithFormat:@"noreply@%@", mailDomain]; - } else { - fromEmail = [dd passwordRecoveryFrom]; - } // Get password recovery email info = [um contactInfosForUserWithUIDorEmail: username]; @@ -1361,6 +1352,19 @@ static const NSString *kJwtKey = @"jwt"; inDomain: domain]; toEmail = [userDefaults passwordRecoverySecondaryEmail]; + //get fromEmail domain + email = [info objectForKey: @"c_email"]; + // Create email from + mailDomain = [email mailDomain]; + if (mailDomain) { + fromEmail = [NSString stringWithFormat:@"noreply@%@", mailDomain]; + } else { + fromEmail = [dd passwordRecoveryFrom]; + } + + + + if (toEmail) { // Generate token jwtToken = [um generateAndSavePasswordRecoveryTokenWithUid: uid username: username domain: domain];