访问Outlook 2013的电子邮件正文的原始邮件源
问题描述:
我想访问Outlook电子邮件的原始邮件源。 (就像您右键单击任何电子邮件然后单击“查看源代码”一样)。我有标题部分使用Mapi标题,但不是全身。访问Outlook 2013的电子邮件正文的原始邮件源
有些链接建议使用“https://schemas.microsoft.com/mapi/proptag/0x1000001E”和0X0000001F可以访问正文,但它允许我例外未经授权的访问。
有些链接是说MAPI属性不支持它,因为他们不知道身体有多大。不过这是很旧的帖子。
我有我的VSTO插件(在C#中),我正在使用MailItem对象。
有什么办法可以访问整个邮件的原始来源,或者我只用C++扩展mapi接口来解决这个问题吗?
答
Outlook通常不存储邮件的原始MIME来源。它根本不是它的本地格式。您可以执行的最佳操作是从PR_TRANSPORT_MESSAGE_HEADERS属性(DASL名称http://schemas.microsoft.com/mapi/proptag/0x007D001F
)中读取MIME 标头。
查看带有OutlookSpy(单击IMessage按钮)的消息以查看可用属性。
感谢您的快速回复。所以你想说的是,消息的MIME源只会在交换中可用?当我们点击电子邮件的查看源时,Outlook如何显示这些信息? – user1677408
我可以读取头部信息(0X007D001E)。我认为扩展的mapi界面应该有助于访问此属性。你会建议什么?我没有得到任何链接访问C#中扩展的mapi接口。 – user1677408
您可以使用MailItem.PropertyAccessor.GetProperty在OOM中读取该属性。再次,这只会给你头。 –