OpenPop不再下载消息UID

时间:2013-05-23 02:27:09

标签: c# pop3 openpop

背景

  • 第一次使用Pop3。
  • 使用OpenPop库。
  • 已配置Gmail以使用Pop3。

问题

一直在调试代码以查看会发生什么(并尝试获取正文)。消息首先下载2到3次..用这个获取UID:

var uids = client.GetMessageUids();

这一次,它不再获取任何UID,我无法弄清楚原因。请注意,我过早地终止了应用程序几次。我的Gmail设置配置为即使在使用pop客户端下载邮件后也可以将邮件保留在服务器上。我甚至尝试将一些邮件设置为unread状态,希望这样可行,但事实并非如此。

那么,任何想法会导致这种方法在2或3之后停止工作的原因是什么? Gmail是否存在某种安全问题,或者可能知道此客户已经获取了这些消息,并且不再发送消息或者是什么?

修改

我发了一封电子邮件到该地址,现在它确实显示了1条消息。所以我真正需要知道的是客户端(或Gmail)如何知道哪些消息已被下载?这非常重要,因为如果发生错误并且我无法存储我的应用程序的电子邮件,则下次刷新完成后,将不会再次下载该消息,因此应用程序中将丢失消息。有没有办法重置它?这被记录在哪里?

1 个答案:

答案 0 :(得分:1)

OpenPop本身不存储任何有关消息的内容。它只是取出你告诉它的任何东西。 Gmail是一个奇怪的POP3提供商,如What non-standard behaviour features does Gmail exhibit, when it is programmatically used as a POP3 server?

中所示

如果任何 POP3客户端已下载Gmail,则Gmail不会显示相同的消息。您可以使用最近的:用户名登录方法来查看最近30天的电子邮件。