阅读SMIME加密电子邮件的正文

问题描述:

我有一个Outlook插件,它使用ItemSend事件处理外发电子邮件。作为处理的一部分,我阅读了传出电子邮件的正文和附件。 当用户在一个环境中加密电子邮件(SMIME)时,我的插件无法读取电子邮件的正文 - PR_BODY_W属性(我假设正文位于smime.p7m中)。但是,在不同的环境中,我的插件会找到并成功读取PR_BODY_W。阅读SMIME加密电子邮件的正文

我不知道我的读取PR_BODY_W的能力取决于在Outlook加密邮件之前还是之后调用ItemSend回调?这是可配置的吗?

Outlook始终将经过签名和加密的邮件表示为常规IPM.Note项目。即使MailItem.MAPIOBJECT是一个假IMessage对象。

如何检索PR_BODY?

+0

使用mapiObject-> OpenProperty( PR_BODY_W, (LPIID)IID_IStream, STGM_READ, 0, &readStream);我还注意到,当我使用Outlook对象模型检索正文(而不是MAPI)时,它适用于所有环境 – DenisY

+0

您是否尝试先调用MailItem.Save? –

+0

是的,我确实打电话保存 – DenisY