Outlook加载项如何在邮件上设置MAPI属性(例如,正文内容),但只将其保存在本地缓存中(而不是将其发送回交换服务器)?我已经通过一些加密插件看到了这一点。
我愿意使用几乎任何可以解决问题的API。
谢谢!
答案 0 :(得分:1)
所以我在MSDN中发现了这一点。 How to: Manage a Message in an OST Without Invoking a Synchronization in Cached Exchange Mode斯蒂芬格里芬在2005年首次谈到这一点here。
我还没有机会测试它,但看起来你可以修改OST而不是触发同步。诀窍是使用IID_IMessageRaw而不是IID_IMessage请求消息,就像通常那样。
您可能遇到的唯一问题是它似乎需要使用扩展MAPI,因此需要使用C ++。问题列表VSTO上的标签,所以我不确定要求可能仍然是什么。
提供的示例是:
HRESULT HrOpenRawMessage (
LPMDB lpMSB,
ULONG cbEntryID,
LPENTRYID lpEntryID,
ULONG ulFlags,
LPMESSAGE* lpMessage)
{
ULONG ulObjType = NULL;
HRESULT hRes = lpMDB->OpenEntry(
cbEntryID,
lpEntryID,
IID_IMessageRaw,
ulFlags,
&ulObjType,
(LPUNKNOWN*) lpMessage));
return hRes;
}