【发布时间】:2014-11-04 23:01:58
【问题描述】:
有没有办法只从邮件服务器获取新邮件(例如,当您将获取的邮件存储在本地时)而不是全部获取?
我想我可以以 5 封邮件的形式获取电子邮件,然后将最后一封电子邮件的哈希值(或其 Uid 来自 Pop3Client.GetMessageUid())与获取的电子邮件的哈希值进行比较,但我不确定这是否是最好和最可靠的方法。我认为这将浪费带宽或用多个请求轰炸服务器。
协议是否允许指定一个时间点(使用日期、最后一个电子邮件哈希或其他),在此之后它应该返回电子邮件?
目前,我正在使用 OpenPop.NET 的 OpenPop.Pop3.Pop3Client。
编辑
我在这里找到了一个例子: http://hpop.sourceforge.net/exampleDownloadUnread.php 虽然它不能 100% 满足我的需求(因为它获取了可能太多的所有 UID),但它是一个很好的起点。
基本上,我想要做的是这个 IMAP 示例通过比较 UID 所做的事情:
http://www.limilabs.com/blog/get-new-emails-using-imap
编辑 2
我发现了这个类似的问题,但它也建议了检索所有 UID 的方法:
【问题讨论】: