Exchange EWS MessageId - >也可以在ActiveSync中使用?

时间:2013-09-27 20:05:10

标签: exchange-server exchangewebservices activesync messageid

在使用ActiveSync时,无论如何都可以获得与Exchange EWS相同的“MessageId”吗?

我认为这是一种唯一识别每条消息的Exchange方式,但我似乎找不到使用ActiveSync检索它的方法。

编辑:我有2个应用程序,一个使用ActiveSync存储信息,另一个使用EWS存储信息,我希望它们能够在同一个消息上单独工作....为此,我希望使用EWS MessageId,它似乎是每个消息的GUID类型标识符。 (注意:这似乎与电子邮件标题中的消息ID不同。)

2 个答案:

答案 0 :(得分:3)

可悲的是,你大部分时间都不走运了。

ActiveSync不是一种集成协议,它是一种专为智能手机等低带宽通信设备设计的移动同步协议。 EAS中不存在EWS中的许多功能。

长期消息识别和关联对于移动设备来说并不重要。他们只是被告知每个文件夹中的消息,并允许用户操纵它们。在任何时候,Exchange服务器都可能告诉其连接EAS的客户端“重新同步”,这会导致他们忘记设备上的消息并将其从服务器中完全拉出。这种情况在EAS中发生很多,有时每小时几次,具体取决于该邮箱发生的情况。例如,通过Outlook删除文件夹会导致FolderSync发生,并强制连接的设备再次干净地重新同步。

因此,EAS似乎已经留下了GUID或其他长期ID消息的概念。相反,服务器将分配短暂的ID,这些ID仅在强制下一次重新同步之前有效(这可能在任何时间发生)。您可能会看到Exchange提供非常简单的ID,例如7:45(这意味着文件夹7中的消息ID 45,IIRC)。但是,重新同步后可能具有数字7:32(如果用户删除该文件夹中的其他邮件)或类似4:22(如果邮件完全移动到另一个文件夹)。

其他EAS服务器(如Zimbra,Kerio或Notes Traveler)可能会分配GUID,但是从内存中可以看出Exchange的行为方式。您唯一的选择可能是将您自己的隐藏相关ID放入您感兴趣的邮件的正文或主题中。这样您就可以跟踪您感兴趣的项目的生命周期,但会牺牲一些奇怪的内容。用户可以在邮件内容中看到这些内容。

答案 1 :(得分:2)

@Brian是正确的 - 没有可用于与EWS关联的ActiveSync项目的全局唯一标识符(有一些例外,例如会议邀请具有UID,事件可以与某些hackery一起使用)检索相关EWS日历事件的EWS ID,并且没有任何字段对用户可见,可以被劫持以添加您自己的数据以进行关联。这在电子邮件,联系人,任务,笔记等中最为明显......

但是,如果要同步两者,则可以使用对象中的元数据进行匹配。例如,对于联系人编写散列算法,该算法组合来自名字,姓氏,公司名称等字段的数据并生成结果。这可以对来自双方的数据进行运行,并且对于匹配将具有相对较少的对象碰撞(并且那些碰撞的对于用户将具有完全相同的可见数据,因此在大多数情况下它不会对您没有& #39; t得到精确对齐)

相关问题