1

背景

  • 第一次使用 Pop3。
  • 使用 OpenPop 库。
  • 已将 Gmail 配置为与 Pop3 一起使用。

问题

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

var uids = client.GetMessageUids();

这一次,它不再获取任何 UID,我不知道为什么。请注意,我确实有几次提前终止了该应用程序。我的 Gmail 设置被配置为将邮件保留在服务器上,即使在使用 pop 客户端下载它们之后也是如此。我什至尝试将一些邮件设置为unread状态,希望能奏效,但它没有。

那么,有什么想法会导致这种方法在 2 或 3 次后停止工作?Gmail 是否存在某种安全问题,或者可能知道此客户端已经获取了邮件并且不再发送邮件或什么?

编辑

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

4

1 回答 1

1

OpenPop does not store anything about messages by itself. It simply fetches whatever you tell it to. Gmail is a strange POP3 provider, as seen in What non-standard behaviour features does Gmail exhibit, when it is programmatically used as a POP3 server?

Gmail does not present the same message if it has been downloaded by any POP3 client. You could use the recent:username login method to see the last 30 days worth of email always.

于 2013-05-23T06:27:54.560 回答