如何在.NET Core中使用AWS SES发送带PDF附件的原始邮件?
亚马逊SES发送带DevExpress导出PDF附件的邮件异常
以下是我目前已经完成的实现代码:
public static async Task<bool> SendEmailWithAttachmentAsync(EmailObj emlData) { var replyToAddresses = new List<string>(); replyToAddresses.Add("Email"); try { var options = new CredentialProfileOptions { AccessKey = "1234", SecretKey = "5678" }; var profile = new CredentialProfile("default", options); var sharedFile = new SharedCredentialsFile(); sharedFile.RegisterProfile(profile); using (var client = new AmazonSimpleEmailServiceClient(RegionEndpoint.APSoutheast2)) { var bodyBuilder = new BodyBuilder(); bodyBuilder.HtmlBody = "Hello World. Please view the attachment."; bodyBuilder.TextBody = "Hello World. Please view the attachment."; var mimeMessage = new MimeMessage(); mimeMessage.From.Add(new MailboxAddress("Name", "Email")); mimeMessage.To.Add(new MailboxAddress("Recipient Name", "Email")); mimeMessage.Subject = "Hello World"; //using (var messageStream = new MemoryStream()) //{ MemoryStream messageStream = new MemoryStream(); emlData.Report.ExportToPdf(messageStream); messageStream.Seek(0, System.IO.SeekOrigin.Begin); bodyBuilder.Attachments.Add("File.pdf", messageStream, new ContentType("application", "pdf")); mimeMessage.WriteTo(messageStream); var sendRequest = new SendRawEmailRequest { Source = senderAddress, Destinations = new List<string> { "Email" }, RawMessage = new RawMessage(messageStream) }; var response = await client.SendRawEmailAsync(sendRequest); if (response.MessageId != null) { messageStream.Close(); messageStream.Flush(); } //} return true; } } catch (Exception err) { return false; } }
我尝试过将代码放入using(memoryStream){}块中,但似乎没有生效。
代码中emlData.Report.ExportToPdf(messageStream)里的Report是DevExpress报表的XtraReport,导出功能已经通过下载场景验证可正常运行,但邮件发送功能始终异常。
恳请各位提供帮助,谢谢。我附上了收到的邮件的异常截图:异常邮件截图
内容的提问来源于stack exchange,提问作者CoderGuy
相关产品推荐
相关产品推荐

