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 1 year 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 else
{ {
var match = Regex.Match(message.From, FromAddressPattern); var match = Regex.Match(message.From, FromAddressPattern);
if (match.Success) from = match.Success ? new MailAddress(match.Value) : new MailAddress(message.From);
{
from = new MailAddress(match.Value);
}
else
{
from = 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, Subject = message.Subject,
Body = message.Content, Body = message.Content,
IsBodyHtml = message.IsBodyHtml, 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()) 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) if (message.Priority.HasValue)
@ -103,7 +106,8 @@ public class EmailMessageManager : DomainService, IEmailMessageManager
foreach (var header in message.Headers) 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) foreach (var attachment in message.Attachments)

Loading…
Cancel
Save