2013-03-26 111 views
0

我正在使用C#/ Visual Studio 2012創建一個電子郵件過程,用於回覆電子郵件的發件人原始電子郵件作爲附件。在處理他們發送的電子郵件時發生錯誤時,我會這樣做。我正在使用庫存.NET System.Net.Mail.MailMessageSystem.Net.Mail.SmtpClient試圖創建一個電子郵件過程,收到一封電子郵件並回復發件人,並附上作爲附件發送的電子郵件

我把原來的郵件EML,並構建一個MemoryStream與電子郵件EML的內容:

memStream = new MemoryStream(Encoding.ASCII.GetBytes(exception.EmailEml)); 
memStream.Seek(0, SeekOrigin.Begin); 

我再構建一個電子郵件,嘗試添加附件如下:

message.Attachments.Add(new Attachment(contentStream, 
        System.Net.Mime.MediaTypeNames.Text.Plain)); 
       message.Attachments[0].Name = subject + ".msg"; 

在Outlook中,我將郵件視爲附件,但Outlook無法打開附件。我從Outlook中收到錯誤...

難道這僅僅是設置正確的MIME類型的問題,以便.MSG附件在Outlook中打開,還是我需要做的其他事情?

當我回顧一個文本編輯器中的.msg附件,我看到在標題下面:

Received: from server.com ([___]) by 
server.com ([___]) with mapi id 
___; Mon, 25 Mar 2013 23:00:20 -0400 
From: Me <myemailaddy> 
To: Server Side Mailbox Process <processemailaddy> 
Subject: subject text 
Thread-Topic: Topic text 
Thread-Index: Ac4pzgz84kK07LIdQ+uIR67iWBoSxw== 
Date: Mon, 25 Mar 2013 23:00:20 -0400 
Message-ID: 
<[email protected]> 
Accept-Language: en-US 
Content-Language: en-US 
X-MS-Exchange-Organization-AuthAs: Internal 
X-MS-Exchange-Organization-AuthMechanism: 04 
X-MS-Exchange-Organization-AuthSource: server.com 
X-MS-Has-Attach: 
X-MS-Exchange-Organization-SCL: -1 
X-MS-TNEF-Correlator: 
Content-Type: text/html; charset="us-ascii" 
MIME-Version: 1.0 

謝謝!

+0

你用什麼API發送消息?我看到你引用了「Outlook」,但各種API可以在Windows中使用默認的電子郵件客戶端。 – jay

+0

嗨Jay,我正在使用System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient –

+0

我發現我的附件是eml格式的......按照我的答案。所以沒有必要進一步調查這個,謝謝! –

回答

1

我的不好,電子郵件源是eml格式。我現在將該文件附加到帶有eml擴展名的電子郵件中。這種情況下的關鍵路徑正在使用這種方法!

相關問題