[英]MimeKit add attachments to a message loaded from mht file
嗨,我們正在嘗試使用MailKit開發郵件發送系統。 我們有一組使用WORD創建並保存為MHTML文件的電子郵件模板。 當我們使用MailKit從MHT文件創建MimeMessage時,整個工作正常。
但是創建此消息后,我看不到添加附件的方法。
目前,我們正在嘗試以下方法。
private void SendEmail(string templatePath, List<string> attachments)
{
// Load the MHT Template
var mimeMessage = MimeMessage.Load(templatePath);
mimeMessage.From.Add(new MailBoxAddress("test@Test.com"));
mimeMessage.To.Add(new MailBoxAddress("test@Test.com"));
foreach (var attachment in attachments)
{
var fileAttachment = new MimePart()
{
ContentObject = new ContentObject(File.OpenRead(Path.Combine(attachment), ContentEncoding.Default),
ContentDisposition = new ContentDisposition(ContentDisposition.Attachment),
ContentTransferEncoding = ContentEncoding.Binary,
FileName = Path.GetFileName(attachment)
};
// Attachments is a read only Enumerable here.
mimeMessage.Attachments.Add
}
}
您需要遍歷消息的MIME樹結構,直到找到Multipart
,你想在“附件”添加到,然后使用Multipart.Add()方法。
請記住,一條消息是一個嵌套的樹結構,而不是一個只有一個消息主體(甚至只有2個)和附件列表的定義明確的結構。 比這復雜得多,因此MimeMessage.Attachments實際上沒有辦法“做正確的事”。
我通過BodyBuilder添加附件:
BodyBuilder _body = new BodyBuilder
{
HtmlBody = message
};
_body.Attachments.Add(_fileName, _stream);
_email.Body = _body.ToMessageBody();
看到這篇文章stackoverflow
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.