如何从MAPI邮件中检索内容类型

How to retrieve content type from a MAPI Imessage

本文关键字:检索 类型 MAPI      更新时间:2023-10-16


我是MAPI编程的新手。我正在尝试检查MAPI消息(c++IUnknown对象)是否加密,如果我手头有mime,我将检查内容类型,但在MAPI消息对象中检查什么
我看到了PR_X400_CONTENT_TYPE属性,我不确定这是否是所需的属性,因为我无法使用IMessage::GetProps函数获得它。我尝试使用以下代码:

SizedSPropTagArray(9, mcols) = { 9, { PR_MESSAGE_CLASS, PR_SENDER_NAME, PR_SENDER_EMAIL_ADDRESS, PR_RTF_IN_SYNC, PR_RECEIVED_BY_EMAIL_ADDRESS, PR_RECEIVED_BY_NAME, PR_RECEIVED_BY_ENTRYID, PR_TRANSPORT_MESSAGE_HEADERS, PR_X400_CONTENT_TYPE } };
ULONG pcount; SPropValue *props = 0; HRESULT hr;
hr = message->GetProps((SPropTagArray*)&mcols, 0, &pcount, &props);
if (props[8].ulPropTag == PR_X400_CONTENT_TYPE) {
// not going here
}


但它并没有返回这个特定的属性
提前谢谢。

MAPI不存储内容类型,因为MIME不是MAPI的本机存储。使用PR_MESSAGE_CLASS属性-对于已签名的消息和IPM.NOTE.SIME.*用于加密消息。