有没有办法通过mailitem.entryid和flatspaceurl检查邮件是否相同

时间:2011-06-23 15:11:58

标签: c# outlook exchange-server

我们有一个处理电子邮件的crm系统,它从交换服务器获得一个flatspaceurl,如:/ -FlatUrlSpace- / 5a194b8c1256794581cb898e6b93c34f-112ca9b4 / 68fcbe48ba7a604086372757c4cea3de-44e6af

然后我有一个程序运行在计算机上,从邮箱中获取新的传入电子邮件(还没有找到一个新邮件进入时触发的方法......)并将它们写入文件。

我可以在MailItem上看到的唯一ID(远程看起来像flatspaceurl)是entryID,在entryID和flatspaceurl之间是否有任何引用?

1 个答案:

答案 0 :(得分:1)

在这种情况下不应使用FlatUrlSpace属性。

有关如何比较元素的更多信息,请参阅http://msdn.microsoft.com/en-us/library/cc815908.aspx。 FlatUrlspace是根据文件夹的条目ID和项目的entryid构建的。虽然条目ID不会随着时间的推移而改变,但是在将WebDAV消失的情况下升级到Exchange 2010时会出现严重问题。

您应该坚持使用该链接中提到的其中一个属性。

关于您需要的触发器:在Exchange 2003中,您可以使用WebDAV复制(WevDAV Replication sample)或Exchange StoreEvents(EventSink foundation library)。

Exchange 2007引入了Pull-and push noftications。前者非常容易使用,后者更难(见http://exchangenotification.codeplex.com/)。