added attachments for AWSSender

This commit is contained in:
NikitaVashchuk 2023-05-02 14:02:16 +05:00
parent 93fd498284
commit 5fcbee4662
2 changed files with 11 additions and 30 deletions

View File

@ -129,37 +129,18 @@ public class AWSSender : SmtpSender, IDisposable
}
_semaphore.Release();
}
var dest = new Destination
{
ToAddresses = m.Reciever.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries).Select(a => MailAddressUtils.Create(a).Address).ToList(),
};
var subject = new Content(MimeHeaderUtils.EncodeMime(m.Subject)) { Charset = Encoding.UTF8.WebName, };
Body body;
if (m.ContentType == Pattern.HtmlContentType)
{
body = new Body(new Content(HtmlUtil.GetText(m.Content)) { Charset = Encoding.UTF8.WebName })
{
Html = new Content(GetHtmlView(m.Content)) { Charset = Encoding.UTF8.WebName }
};
}
else
{
body = new Body(new Content(m.Content) { Charset = Encoding.UTF8.WebName });
}
var from = MailAddressUtils.Create(m.Sender).ToEncodedString();
var request = new SendEmailRequest { Source = from, Destination = dest, Message = new Message(subject, body) };
if (!string.IsNullOrEmpty(m.ReplyTo))
{
request.ReplyToAddresses.Add(MailAddressUtils.Create(m.ReplyTo).Address);
}
var message = BuildMailMessage(m);
using var ms = new MemoryStream();
message.WriteTo(ms);
var request = new SendRawEmailRequest(new RawMessage(ms));
ThrottleIfNeeded();
var response = await _amazonEmailServiceClient.SendEmailAsync(request);
var response = await _amazonEmailServiceClient.SendRawEmailAsync(request);
_lastSend = DateTime.UtcNow;
return response != null ? NoticeSendResult.OK : NoticeSendResult.TryOnceAgain;

View File

@ -195,7 +195,7 @@ public class SmtpSender : INotifySender
: null;
}
}
private MimeMessage BuildMailMessage(NotifyMessage m)
protected MimeMessage BuildMailMessage(NotifyMessage m)
{
var mimeMessage = new MimeMessage
{