6

当我使用 POP3 协议访问 GMail 收件箱时,似乎在使用 RETR 命令获取给定电子邮件后,在退出并重新连接后,调用 LIST 时不再列出以前的 RETR-ieved 电子邮件。

然后,在转到:GMail 设置//转发和 POP/IMAP 并设置“为所有邮件启用 POP(甚至是已经下载的邮件)”之后,在下次登录时,所有电子邮件都会再次被列出,但如果我 RETR 任何其中,它在重新登录后再次从 LIST 中消失..

然后我可以再次进入 GMail 设置并重复整个过程,但这对我来说是一个阻碍,因为我正在编写一个无需任何手动操作即可工作的脚本。

我错过了什么,还是只有 IMAP 可以在这里提供帮助?

(编辑:RFC http://www.ietf.org/rfc/rfc1939.txt没有提到 RETR 命令删除消息)

4

3 回答 3

4

这是 Gmail 的预期行为。根据这个问题,“[a]ll 邮件可能一次下载到另一台计算机;下载邮件后,它不会再次下载。”

还有一个“最近模式”,在这种模式下,会获取最近 30 天的邮件,无论它是否已经发送到另一个 POP 客户端。

也就是说,不要试图在短时间内通过不同的计算机获取所有邮件,因为Gmail 可能会阻止您的帐户 24 小时

我强烈建议使用 IMAP。

于 2010-02-01T22:52:16.763 回答
0

Gmail 的 POP3 配置有时可能令人困惑。您可以在此处找到Gmail POP3 行为

切换到 IMAP 是非常好的解决方案。

于 2010-10-08T14:48:49.530 回答
0

这是一个常见问题,不幸的是,它并不总是有最简单的解决方案。希望这些信息能帮助您和其他人找到适合您需求的最佳实施方案。免责声明:如果您可以选择或有能力将 IMAP 添加到您的 pop3,它肯定会使事情更易于管理。

Gmail 有自己的 Pop3 实现,话虽如此,但并非所有这些都与其他 pop3 提供者有关。以下是问题的生命周期以及可以帮助您管理它的一些信息:

您可以在 NORMAL 模式或 RECENT 模式下连接到 pop3 服务器。这将弹出服务器上的“会话”置于“事务状态”。通过在连接上的用户名前加上“recent:”+用户名来使用最近模式。最近模式将返回服务器上最近 30 天的电子邮件。注意*这将取代我将在下面讨论的 UIDL 命令。即最近模式将返回所有 30 天的电子邮件,如果它们没有被删除。由于它总是返回最近 30 天的数据,因此如果您有多个客户,他们都将在最近模式下收到相同的信息。

正常模式是默认设置。正常模式将尊重您选择使用的命令的限制。UIDL 将返回服务器上大约 250 封最旧的电子邮件。如果您在服务器上有 500 封电子邮件,并且您没有删除任何电子邮件,那么 UIDL 将返回前 250 封电子邮件的 id 和唯一标识符,因此您可能不知道新的 250 封电子邮件。这里的警告如下,GMAIL在您配置弹出的 Web 控制台上有一个选项,以“从现在开始启用弹出”。通过选择并保存,弹出服务器将使用当时的时间戳来“刷新”最旧的时间。因此,UIDL 将从那时开始向您返回消息,直到您再次达到 250 标记(假设您没有删除它们)。

请务必注意,在您发出 QUIT 命令之前,事务状态一直存在。发出该命令后,服务器进入“更新”状态,它将开始发出您请求的更新,例如删除命令,或在下载后弹出它们。在成功发出 QUIT 之前,不会删除任何内容,服务器状态也不会改变。

STAT 命令将显示您服务器上 pop3 堆栈中的电子邮件数量。

RETR 命令将检索或下载电子邮件,但在您成功结束会话之前不会将其标记为已下载

如果您维护服务器的状态并弹出电子邮件,许多开发人员用来检索消息编号和唯一标识符的 UIDL 非常有用。UIDL 只会返回最旧的 250-ish(我见过 251-255)电子邮件。如果您不断地轮询新电子邮件,如果电子邮件没有被删除,这是很危险的。还!如果您需要删除电子邮件,请确保在 Web 控制台中配置了 GMAIL 设置,即在我的收件箱中保留一份副本,以便您可以访问这些电子邮件作为备份。

LIST 命令将解决您在正常模式下收到超过 250 封电子邮件的问题,(注意:您仍然需要在本地维护一个 id 文件来交叉检查传入的邮件,以便知道它是新的还是旧的)......但是:此命令还从 SENT 框中返回邮件,这对许多人来说不是一个可行的解决方案。

提示:

If you are managing the inbox quickly and effectively and do not believe 250 to be a limiting factor in your process, UIDL and RETR will work.

If you will not be able to keep your inbox below 250 but also need access to new email, AND you do not expect the inbox to grow to outrageous size and the performance is not concerning, RECENT mode should work.

于 2020-06-11T16:34:16.113 回答