使用 GetRDOObjectFromOutlookObject 时,兑换邮件对象未正确链接到原始邮件项目

Redemption mail object not properly linked to original mail item when using GetRDOObjectFromOutlookObject

我有 运行 这种情况,如果我从 OOM 获得了 MailItem 并且这封电子邮件是新创建的,它的条目 ID 将是 null。如果我使用 RDOSession.GetRDOObjectFromOutlookObject 方法从这个 MailItem 得到一个 RDOMail,得到的 RDOMail 将所有属性都为 null 或设置为它们的默认值并更改它们'改变原来MailItem.

中相应属性的值

使用相同的方法从现有 MailItem(具有有效条目 ID 的条目)中获取 RDOMail 工作正常。

Redemption 文档中未记录此行为。只是想知道我是否遗漏了什么?

这是 Outlook 对象模型一直做的(或者更确切地说没有做的)- 在保存项目之前,无法通过 MAPI 访问通过 UI 或 Outlook 对象模型设置的最新更改。

GetRDOObjectFromOutlookObject 的主要目的不是方便访问未保存的更改,而是确保 Redemption 和 OOM 最终使用从 MailItem.MAPIOBJECT 检索到的相同 IMessage 对象以避免打开相同的 IMessage对象两次(保存时可能会导致冲突)。