mirror of
https://github.com/bitwarden/server.git
synced 2025-04-05 05:00:19 -05:00
[PM-18971] Special Characters in Org Names (#5514)
* sanitize organization name for email to avoid encoding * fix spelling mistake in variable name
This commit is contained in:
parent
481df89cf0
commit
3422f4cd50
@ -99,5 +99,5 @@ public interface IMailService
|
|||||||
string organizationName);
|
string organizationName);
|
||||||
Task SendClaimedDomainUserEmailAsync(ManagedUserDomainClaimedEmails emailList);
|
Task SendClaimedDomainUserEmailAsync(ManagedUserDomainClaimedEmails emailList);
|
||||||
Task SendDeviceApprovalRequestedNotificationEmailAsync(IEnumerable<string> adminEmails, Guid organizationId, string email, string userName);
|
Task SendDeviceApprovalRequestedNotificationEmailAsync(IEnumerable<string> adminEmails, Guid organizationId, string email, string userName);
|
||||||
Task SendBulkSecurityTaskNotificationsAsync(string orgName, IEnumerable<UserSecurityTasksCount> securityTaskNotificaitons);
|
Task SendBulkSecurityTaskNotificationsAsync(Organization org, IEnumerable<UserSecurityTasksCount> securityTaskNotifications);
|
||||||
}
|
}
|
||||||
|
@ -1201,21 +1201,22 @@ public class HandlebarsMailService : IMailService
|
|||||||
await _mailDeliveryService.SendEmailAsync(message);
|
await _mailDeliveryService.SendEmailAsync(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SendBulkSecurityTaskNotificationsAsync(string orgName, IEnumerable<UserSecurityTasksCount> securityTaskNotificaitons)
|
public async Task SendBulkSecurityTaskNotificationsAsync(Organization org, IEnumerable<UserSecurityTasksCount> securityTaskNotifications)
|
||||||
{
|
{
|
||||||
MailQueueMessage CreateMessage(UserSecurityTasksCount notification)
|
MailQueueMessage CreateMessage(UserSecurityTasksCount notification)
|
||||||
{
|
{
|
||||||
var message = CreateDefaultMessage($"{orgName} has identified {notification.TaskCount} at-risk password{(notification.TaskCount.Equals(1) ? "" : "s")}", notification.Email);
|
var sanitizedOrgName = CoreHelpers.SanitizeForEmail(org.DisplayName(), false);
|
||||||
|
var message = CreateDefaultMessage($"{sanitizedOrgName} has identified {notification.TaskCount} at-risk password{(notification.TaskCount.Equals(1) ? "" : "s")}", notification.Email);
|
||||||
var model = new SecurityTaskNotificationViewModel
|
var model = new SecurityTaskNotificationViewModel
|
||||||
{
|
{
|
||||||
OrgName = orgName,
|
OrgName = CoreHelpers.SanitizeForEmail(sanitizedOrgName, false),
|
||||||
TaskCount = notification.TaskCount,
|
TaskCount = notification.TaskCount,
|
||||||
WebVaultUrl = _globalSettings.BaseServiceUri.VaultWithHash,
|
WebVaultUrl = _globalSettings.BaseServiceUri.VaultWithHash,
|
||||||
};
|
};
|
||||||
message.Category = "SecurityTasksNotification";
|
message.Category = "SecurityTasksNotification";
|
||||||
return new MailQueueMessage(message, "SecurityTasksNotification", model);
|
return new MailQueueMessage(message, "SecurityTasksNotification", model);
|
||||||
}
|
}
|
||||||
var messageModels = securityTaskNotificaitons.Select(CreateMessage);
|
var messageModels = securityTaskNotifications.Select(CreateMessage);
|
||||||
await EnqueueMailAsync(messageModels.ToList());
|
await EnqueueMailAsync(messageModels.ToList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,7 +324,7 @@ public class NoopMailService : IMailService
|
|||||||
return Task.FromResult(0);
|
return Task.FromResult(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task SendBulkSecurityTaskNotificationsAsync(string orgName, IEnumerable<UserSecurityTasksCount> securityTaskNotificaitons)
|
public Task SendBulkSecurityTaskNotificationsAsync(Organization org, IEnumerable<UserSecurityTasksCount> securityTaskNotifications)
|
||||||
{
|
{
|
||||||
return Task.FromResult(0);
|
return Task.FromResult(0);
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ public class CreateManyTaskNotificationsCommand : ICreateManyTaskNotificationsCo
|
|||||||
|
|
||||||
var organization = await _organizationRepository.GetByIdAsync(orgId);
|
var organization = await _organizationRepository.GetByIdAsync(orgId);
|
||||||
|
|
||||||
await _mailService.SendBulkSecurityTaskNotificationsAsync(organization.Name, userTaskCount);
|
await _mailService.SendBulkSecurityTaskNotificationsAsync(organization, userTaskCount);
|
||||||
|
|
||||||
// Break securityTaskCiphers into separate lists by user Id
|
// Break securityTaskCiphers into separate lists by user Id
|
||||||
var securityTaskCiphersByUser = securityTaskCiphers.GroupBy(x => x.UserId)
|
var securityTaskCiphersByUser = securityTaskCiphers.GroupBy(x => x.UserId)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user