2017-04-25 40 views
0

我正在通過Exchange 2016傳輸代理導出電子郵件並將它們保存到磁盤。 Outlook成功打開所有電子郵件,解析標題,但ts無法顯示從Outlook客戶端發送的郵件正文。類型是:Outlook無法顯示從Exchange傳輸代理導出的TNEF電子郵件正文

Content-Type: application/ms-tnef; name="winmail.dat" 

其他類型(MIME等)都可以。導出的消息包含正文。我可以將它轉換爲.msg,並在此操作後進行所有工作。這是爲什麼發生?

電子郵件導出方法,

using (var stream = new MemoryStream()) 
    { 
    email.MimeDocument.WriteTo(stream); 
    storageManager.SaveStreamToFile(stream, path); 
    size = stream.Length; 
    } 

我alredy使用傳輸管道(https://technet.microsoft.com/en-us/library/bb125012(v=exchg.150).aspx)的各種活動嘗試。這個問題在不同論壇上被問到,但沒有真正的答案。如果您想要,我會提供一個電子郵件的例子。

回答

0

TNEF(傳輸中性封裝格式)是Microsoft使用的專有電子郵件附件格式[更多技術信息here]。如果你沒有正確處理,你會以winmail.dat的形式作爲附件[解釋爲here]

要想從Winmail.dat的內容,你有多種選擇現在:

  1. 嘗試分析它像解釋here
  2. 使用Yerase's TNEF Stream Reader [也許是最好的選擇]
  3. 使用OpaqueMail [可能無法與您的運輸代理方式工作]
  4. 嘗試使用TnefReader Class
  5. 重建您的解決方案,並使用Exchange EWS(= Exchange Web服務)
+0

這不是我的qeustiom的答案。我知道,如何閱讀TNEF我不想使用EWS。我只是不明白爲什麼Outlook默認情況下無法讀取導出的電子郵件。 –

相關問題