如何将Outlook发送的电子邮件唯一匹配到其对应的Outlook草稿(MAPI MailItem)

问题描述 投票:2回答:1

我试图在草稿发送后将展望“草稿”与相应的展望“发送电子邮件”进行匹配,但似乎我没有得到任何结果。

我尝试过使用ConversationId,这几乎奏效了。草稿可以通过ConversationId与发送的电子邮件匹配,但问题是用户可以创建2个不同的草稿,从而打破这个逻辑(因为2个草稿将具有相同的ConversationId,因此无法唯一标识发送的电子邮件。

我尝试过使用EntryId属性,但当然,草案与发送的电子邮件不同。我试过看看parent EntryId是否可以过滤掉任何东西,但这也不值得。

我已经深入挖掘了MAPI并找到了PR_INTERNET_MESSAGE_ID_W,但草案中并不存在。

从本质上讲(对于漫无目的而言),我的问题是我如何唯一地为其关联的已发送电子邮件确定展望草稿(草稿发送后)?

email outlook outlook-addin mapi
1个回答
2
投票

你可以使用PR_SEARCH_KEY - 但它可以改变(见https://blogs.msdn.microsoft.com/stephen_griffin/2009/12/14/pr_search_key-and-draft-messages/)。 PR_RECORD_KEY以及PR_ENTRYID在复制时会被更改。

为什么不使用MailItem.PropertyAccessor.SetProperty设置自己的命名属性?只是不要使用MailItem.UserProperties,因为这可能导致消息以TNEF格式发送。

© www.soinside.com 2019 - 2024. All rights reserved.