Browse Source

fix(platform): The email system automatically resolves the recipient

pull/1282/head
colin 1 year ago
parent
commit
ed5f1ff6e6
  1. 21
      aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/Messages/EmailMessageManager.cs

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

@ -1,6 +1,7 @@
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System; using System;
using System.IO; using System.IO;
using System.Net;
using System.Net.Mail; using System.Net.Mail;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -65,24 +66,19 @@ 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,
}; };
mailMessage.To.Add(message.Receiver);
if (!message.CC.IsNullOrWhiteSpace()) if (!message.CC.IsNullOrWhiteSpace())
{ {
mailMessage.CC.Add(message.CC); mailMessage.CC.Add(message.CC);
@ -103,7 +99,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)
@ -119,7 +116,7 @@ public class EmailMessageManager : DomainService, IEmailMessageManager
return null; return null;
} }
catch(Exception ex) catch (Exception ex)
{ {
Logger.LogWarning("Failed to send a email message, error: {message}", ex.ToString()); Logger.LogWarning("Failed to send a email message, error: {message}", ex.ToString());

Loading…
Cancel
Save