【问题标题】:Unique hash code for all MailItem (new items as well)所有 MailItem 的唯一哈希码(以及新项目)
【发布时间】:2021-01-25 07:15:53
【问题描述】:

在调用Send/InspectorClose 事件之前,我们需要连接到所有检查器项目。
我们考虑在 NewInspector 事件上创建一个新的处理程序并连接到它。
处理现有的 MailItem 时,它有 EntryId/Message-ID,但新的 MailItems 没有

是否有任何其他方法可以让每个 mailItem 拥有唯一的 ID,即使它是新的? (计算哈希也可以,但我们没有找到一致的值)

【问题讨论】:

    标签: outlook outlook-addin mailitem outlook-object-model


    【解决方案1】:

    使用PR_SEARCH_KEY MAPI 属性(DASL 属性名称http://schemas.microsoft.com/mapi/proptag/0x300B0102)。可以使用MailItem.PropertyAccessor.GetProperty访问它

    请记住,OOM 只能在保存消息后访问该属性,即使它在此之前可用(Redemption 可以随时访问它)。

    【讨论】:

    • 谢谢Dmitry,能否请您详细说明一下该属性只能在保存后访问但之前可用?
    • 这意味着 MailItem.PropertyAccessor.GetProperty 将引发异常,除非之前调用过 Save。
    • 据我了解,这意味着您提到的属性现在将在新的 mailItem(一旦创建)上可用,但只能在保存后使用。不幸的是,我认为这可能为时已晚,因为我们需要在 NewInspector 上处理该项目
    • 不,PR_SEARCH_KEY 在保存之前可用 - 在 Outlook 中创建新邮件,在 OutlookSpy 功能区上,单击 IMessage 按钮。 PR_SEARCH_KEY 存在。
    • 我尝试在newInspector 中获取此值,但它似乎不存在:The property \"http://schemas.microsoft.com/mapi/proptag/0x300B0102\" is unknown or cannot be found.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2012-08-21
    • 2013-09-17
    • 2014-12-31
    • 2013-09-12
    • 2014-05-11
    相关资源
    最近更新 更多