背景
问题
一直在调试代码以查看会发生什么(并尝试获取正文)。消息首先下载2到3次..用这个获取UID:
var uids = client.GetMessageUids();
这一次,它不再获取任何UID,我无法弄清楚原因。请注意,我过早地终止了应用程序几次。我的Gmail设置配置为即使在使用pop客户端下载邮件后也可以将邮件保留在服务器上。我甚至尝试将一些邮件设置为unread
状态,希望这样可行,但事实并非如此。
那么,任何想法会导致这种方法在2或3之后停止工作的原因是什么? Gmail是否存在某种安全问题,或者可能知道此客户已经获取了这些消息,并且不再发送消息或者是什么?
修改
我发了一封电子邮件到该地址,现在它确实显示了1条消息。所以我真正需要知道的是客户端(或Gmail)如何知道哪些消息已被下载?这非常重要,因为如果发生错误并且我无法存储我的应用程序的电子邮件,则下次刷新完成后,将不会再次下载该消息,因此应用程序中将丢失消息。有没有办法重置它?这被记录在哪里?
答案 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天的电子邮件。