Browse Source

Merge pull request #1271 from colinin/fiex-multiple-send-mail

fix(platform): Fixed multiple incorrect email recipient addresses
pull/1284/head
yx lin 8 months ago
committed by GitHub
parent
commit
2653ce897e
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 28
      aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/Messages/EmailMessageManager.cs

28
aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/Messages/EmailMessageManager.cs

@ -65,27 +65,30 @@ public class EmailMessageManager : DomainService, IEmailMessageManager
else
{
var match = Regex.Match(message.From, FromAddressPattern);
if (match.Success)
{
from = new MailAddress(match.Value);
}
else
{
from = new MailAddress(message.From);
}
from = match.Success ? new MailAddress(match.Value) : new MailAddress(message.From);
}
var to = new MailAddress(message.Receiver);
var mailMessage = new MailMessage(from, to)
var mailMessage = new MailMessage
{
From = from,
Subject = message.Subject,
Body = message.Content,
IsBodyHtml = message.IsBodyHtml,
};
var toAddresses = message.Receiver.Split(new[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var address in toAddresses)
{
mailMessage.To.Add(address.Trim());
}
if (!message.CC.IsNullOrWhiteSpace())
{
mailMessage.CC.Add(message.CC);
var ccAddresses = message.CC.Split(new[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var address in ccAddresses)
{
mailMessage.CC.Add(address.Trim());
}
}
if (message.Priority.HasValue)
@ -103,7 +106,8 @@ public class EmailMessageManager : DomainService, IEmailMessageManager
foreach (var header in message.Headers)
{
mailMessage.Headers.Add(header.Key, header.Value);
var sanitizedValue = header.Value?.Replace(",", "") ?? "";
mailMessage.Headers.Add(header.Key, sanitizedValue);
}
foreach (var attachment in message.Attachments)

Loading…
Cancel
Save