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

时间:2018-02-28 11:50:16

标签: gmail javamail imap pop3

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

Gmail对POP3帐户有特殊处理:

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

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

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