不同版本的 Outlook 中邮件项目的对话 ID

本文关键字:项目 对话 ID 版本 Outlook | 更新日期: 2023-09-27 18:36:36

我正在开发Outlook插件,它将邮件记录到我们的系统中。我们希望每个邮件线程/链有一个条目。我们正在开发 2 个版本的插件(适用于 Outlook 2003 和 2010)。

对于 Outlook 2010,我正在使用邮件项的属性对话 ID 来标识邮件线程。使用此属性安全吗?无论交换服务器的版本如何,邮件线程的对话ID是否相同?

对于 Outlook 2003,我找不到此属性。我看到对话索引属性。这可以以任何方式使用吗?

我们的一些用户将使用 2003,一些将使用 2010,我们用于邮件线程的 id 在不同版本的 Outlook 中应该是相同的。

不同版本的 Outlook 中邮件项目的对话 ID

如果我

没记错的话,PR_CONVERSATION_INDEX MAPI 属性早在 Outlook 97 中就被使用了。

Outlook 2003 对象模型不会公开该属性,但它仍然存在于 MAPI 级别。由于PropertyAccessor直到 Outlook 2007 才公开,因此您的选项是 CDO 1.21 或 Redemption(我是它的作者)。

以下是我正在考虑做的事情,以识别从 Outlook 记录到我们系统的对话。

展望 2003 -

使用(对话索引的前 44 个字符)+用户 ID。我必须附加用户 id,因为同一邮件链的对话索引对于不同的用户机器可能不同。

展望 2010 -

使用对话 ID。我的假设是此对话 ID 是在服务器上生成的,并且在所有用户计算机上都是相同的邮件线程。

如果我遗漏了什么,请纠正我。