2017-09-27 100 views
0

嗨加載我們正試圖開發一種使用郵件發送MailKit系統的消息。我們有一組電子郵件模板,它們使用WORD創建並保存爲MHTML文件。整個事情是工作的罰款,當我們使用MailKit從MHT文件中創建一個MimeMessage。MimeKit添加附件從MHT文件

但是後創建這個消息,我無法看到添加附件,以這種的方式。

目前,我們正在嘗試以下。

private void SendEmail(string templatePath, List<string> attachments) 
    { 
     // Load the MHT Template 
     var mimeMessage = MimeMessage.Load(templatePath); 

     mimeMessage.From.Add(new MailBoxAddress("[email protected]")); 
     mimeMessage.To.Add(new MailBoxAddress("[email protected]")); 

     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 
     } 

    } 

回答

0

您需要遍歷消息的MIME樹結構,直到找到Multipart你想在「附件」添加到,然後使用Multipart.Add()方法。

請注意,消息是一個嵌套樹結構,並且未明確限定的結構,其僅具有1消息體(或甚至只是2)和附件的列表。這是一大堆複雜多了,所以有字面上沒有辦法MimeMessage.Attachments「做正確的事」。

+0

我會試試這個,我們通過從mht加載一次消息並將消息的所有正文部分與附件一起添加到多部分並創建新消息來獲得它的工作。但是我肯定會試試這個並讓你知道 – Abhilash