[英]Attachment start missing in an Email after a period of time
我在電子郵件中遇到附件問題。 每隔幾天,用戶就無法在電子郵件中找到預期的附件。 這似乎發生了大約10-20分鍾,然后它糾正了自己意味着后來的電子郵件將包含附件。 我不確定這背后的原因是什么。 這就是我的代碼的樣子
模型
public class EmailAttachment
{
public string FileName { get; set; }
public byte[] FileContent { get; set; }
}
代碼觸發器發送電子郵件
var emailAttachment= new EmailAttachment();
emailAttachment.FileContent = CreatePDFFile();
emailAttachment.FileName = "file.pdf";
EmailGeneratedCertificate(emailAttachment);
電子郵件准備代碼
public void EmailGeneratedCertificate(EmailAttachment file)
{
//file.FileContent is a byte array
var ms = new MemoryStream(file.FileContent);
ms.Position = 0;
var contentType = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Application.Pdf);
var from = "xx@x.com";
var fromTargetName = "XXX";
var recepient="xx2@x.com"
var subject = "Attachment";
var body="<strong>Please find attachment.</strong>"
var attachment = new Attachment(ms, contentType);
attachment.ContentDisposition.FileName = file.FileName;
var attachments = new List<Attachment>();
attachments.Add(attachment);
_mailService.Send(recepient, null, subject, body, attachments);
}
我想指出的另一件事是,我有兩個網站在不同的APP POOL
運行,並且都有相同的電子郵件發送代碼,如上所述,當這個問題發生時,它似乎同時發生在兩個網站上10-15分鍾然后糾正自己。 請建議。
在你的問題中,你沒有編寫CreatePDFFile()
所有代碼,恕我直言,這是奇怪的行為的原因,所以我只能從你發布的代碼猜測。
我看到2個主要問題:
private byte[] ReadFile(string path)
:你吞下任何異常,如果有的話,它返回一個空字節數組,所以沒有附件。 EmailGeneratedCertificate(EmailAttachment file)
MemoryStream
:您沒有處理流,這可能會出現一些意外行為
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.