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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将Outlook发送的电子邮件唯一匹配到其对应的Outlook草稿(MAPI MailItem)相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

答案

你可以使用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格式发送。

以上是关于如何将Outlook发送的电子邮件唯一匹配到其对应的Outlook草稿(MAPI MailItem)的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java ee项目中如何调用outlook发邮件

如何更改通过 Excel VBA 代码通过 Outlook 发送的电子邮件的字体格式?

如何将带有图像(base 64 字符串)的电子邮件中的 html 发送到 Outlook、gmail 等

在将电子邮件发送到 Outlook 中的外部域之前发出警告

如何将相同的回复邮件(模板保存在outlook中)发送给邮件发件人(to,cc)?

无法使用 java 邮件将富文本内容类型的邮件发送到 Outlook