使用GMail客户端和JavaMail访问GMail(通过pop3)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用GMail客户端和JavaMail访问GMail(通过pop3)相关的知识,希望对你有一定的参考价值。

我写了一个JavaMail客户端来通过POP3访问GMail帐户。 正如所料,我只能阅读一次消息。当我重新运行客户端时,找不到该消息,因为它已从服务器中删除。

但是,当我通过浏览器登录GMail帐户(启用IMAP)时,会显示该消息。

为什么会这样?是为POP3和IMAP创建的电子邮件的单独副本吗?

答案

POP3客户端访问收件箱,他们看到的是看不见的邮件。当POP3客户端看到一条消息时,它不再是看不见的,而POP3服务器应该做某事。

gmail服务器可能会将邮件移动到Archived文件夹。

作为最后一个编写POP3客户端BTW的人,您可能已经获奖。

另一答案

Gmail对POP3帐户有特定的特殊处理:

在默认模式下,它需要“下载和删除”客户端。它只会暴露300条左右的消息,直到那些是DELEted。它们实际上并未删除,但它们将从要通过POP3发送的消息池中删除。这可以防止传统POP3客户端访问大型邮箱时的一些低效率,但允许客户端最终访问所有内容。

另一种模式是最近的模式。您可以通过在登录前放置“recent:”来使用此模式,例如“recent:bob@gmail.com”。这会将其切换为仅向您的客户显示最近30天消息的模式。消息不会消失,直到它们掉出窗口。同样,出于效率原因,这将消息列表的大小限制为合理的数量,但是以不同的方式。但是,可以在客户端之间同步删除。 (这可能意味着以Google方式存档)。最近的模式目前在故障排除部分记录了here我想在多个电子邮件客户端上下载电子邮件。

或者,您可以使用IMAP。即使不使用IMAP的所有附加功能,您也可以使用POP3执行所有操作,但随着客户端的发展,将允许许多其他功能。

以上是关于使用GMail客户端和JavaMail访问GMail(通过pop3)的主要内容,如果未能解决你的问题,请参考以下文章

Gmail api 范围和格式不匹配

JavaMail 读取消息

利用Javamail接收QQ邮箱和Gmail邮箱(转)

无法使用 javamail 将 HTML 电子邮件发送到 Gmail

无法使用 JavaMail 读取 Outlook 邮件,而 Gmail 可以工作

Javamail 无法将套接字转换为 TLS GMail