2017-02-07 27 views
-1

我想訪問Outlook電子郵件的原始郵件源。 (就像您右鍵單擊任何電子郵件然後單擊「查看源代碼」一樣)。我有標題部分使用Mapi標題,但不是全身。訪問Outlook 2013的電子郵件正文的原始郵件源

有些鏈接建議使用「https://schemas.microsoft.com/mapi/proptag/0x1000001E」和0X0000001F可以訪問正文,但它允許我例外未經授權的訪問。

有些鏈接是說MAPI屬性不支持它,因爲他們不知道身體有多大。不過這是很舊的帖子。

我有我的VSTO插件(在C#中),我正在使用MailItem對象。

有什麼辦法可以訪問整個郵件的原始來源,或者我只用C++擴展mapi接口來解決這個問題嗎?

回答

1

Outlook通常不存儲郵件的原始MIME來源。它根本不是它的本地格式。您可以執行的最佳操作是從PR_TRANSPORT_MESSAGE_HEADERS屬性(DASL名稱http://schemas.microsoft.com/mapi/proptag/0x007D001F)中讀取MIME 標頭

查看帶有OutlookSpy(單擊IMessage按鈕)的消息以查看可用屬性。

+0

感謝您的快速回復。所以你想說的是,消息的MIME源只會在交換中可用?當我們點擊電子郵件的查看源時,Outlook如何顯示這些信息? – user1677408

+0

我可以讀取頭部信息(0X007D001E)。我認爲擴展的mapi界面應該有助於訪問此屬性。你會建議什麼?我沒有得到任何鏈接訪問C#中擴展的mapi接口。 – user1677408

+0

您可以使用MailItem.PropertyAccessor.GetProperty在OOM中讀取該屬性。再次,這隻會給你頭。 –

相關問題