当前位置: 首页 > 编程语言 > C#

如何从Outlook获取最新消息Share

时间:2023-04-10 19:44:10 C#

如何从Outlook获取最新消息).我需要经常检查Outlook中的新消息,并且我需要接收自上次检查以来的消息。我试过Items.Restrict()方法并使用过滤器"[ReceivedTime]>'"+lastUpdate+"'",但它似乎没有用。我可能已经为lastUpdate尝试了所有可能的格式——转换为通用时间、字符串、美国日期/时间格式。没有正常工作。它要么在完全不同的时间范围内给我消息,要么根本找不到任何消息。知道我做错了什么吗?我也在考虑使用AdvancedSearch()但它会快速且易于实施吗?提前感谢您的回复!好吧,我在这上面浪费了更多时间并找到了一个简单的解决方案,它不会迫使我从头开始重写整个应用程序。我没有使用Items.Restrict()方法获取最新消息,而是使用Items.Sort()按ReceivedTime对它们进行排序,然后循环遍历Items列表中的第一条消息,直到找到比我上次更新更早的消息时间戳。示例:givenFolder.Items.Sort("[ReceivedTime]",true);//true意味着,它将降序(最晚在开始时)不幸的是,这个解决方案有一个缺点,因为Items.Sort()似乎只适用于Exchange邮箱(在普通POP邮箱中不能正确排序),但我仍然只需要交换所以这对我来说已经足够了。我想,也可以使用Outlook的AdvancedSearch或MAPI表,但我没有尝试过。虽然不是直接的答案,但请查看ExchangeWeb服务托管API1.2SDKhttp://msdn.microsoft.com/en-us/library/dd633710(v=EXCHG.80).aspx。它更容易处理,更灵活,并且不依赖于Outlook。使用EWS托管API处理搜索http://msdn.microsoft.com/en-us/library/dd633671(v=exchg.80).aspx使用EWS托管API处理搜索过滤器http://msdn.microsoft.com/en-us/library/dd633659(v=exchg.80).aspx查找MAPI查看器。Microsoft提供了一个,还有其他的。使用查看器,您可以查看文件夹和项目属性以了解如何过滤。但是,我认为使用EWS托管API处理搜索过滤器的示例将帮助您实现目标。为什么不直接连接到您的邮件服务器并通过简单的连接发出POP3或IMAP命令呢?我以前直接在telnet中这样做过。该命令非常简单,应该也可以在Windows下使用。(供参考)另一种方法可能是直接打开Outlook文件夹,但这意味着客户端版本的Outlook实际上正在运行并从服务器下载邮件。顺便说一句,一个告诉您新邮件是否已经存在的程序称为biff(我怀疑它是否存在于MS平台上)。以上就是C#学习教程:如何从Outlook中获取最新的新闻分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: