簡體   English   中英

MimeKit將附件添加到從mht文件加載的郵件中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM