【问题标题】:Javamail pull messages in chunks (like pagination) GMAIL POP3Javamail 以块的形式提取消息(如分页) GMAIL POP3
【发布时间】:2015-08-13 07:09:42
【问题描述】:

通过 Java 应用程序,我可以连接 GMAIL POP3 服务器。当我调用 getMessageCount() 时,它返回 280,尽管我的收件箱中有超过 10k 封邮件。因此,当我调用 folder.getMessages(300, 400) 时,它给了我错误,因为范围超过 280。有关更多详细信息,请参阅我的另一篇帖子 link

我的问题是:

  • 他们是否有任何 API 可以分块获取电子邮件(如分页)?如果可以的话,任何人都可以给我参考以开始它。

【问题讨论】:

    标签: pagination gmail jakarta-mail imap pop3


    【解决方案1】:

    这不是 javamail 限制,这是他们的 POP3 服务器的 gmail 限制。通过 POP 访问时,它一次只会显示 300 条消息,直到您将它们删除。还有一种替代访问方法,您将登录名指定为recent:user@gmail.com,它会显示过去 30 天的电子邮件。

    他们这样做是因为 POP3 迅速成为访问数千封电子邮件的非常低效的协议,因此它们限制了您可以看到的消息窗口。

    如果您希望访问所有电子邮件,则需要切换到 IMAP,或使用 Gmail REST API,这两者都大大改善了邮件访问和体验。

    【讨论】:

    • @Max 能否请您简要介绍一下 1.“在您删除它们之前,它一次只会显示 300 条消息”从哪里删除?是指来自本地还是来自 gmail 服务器? 2.“或者使用Gmail REST API”你能提供参考链接吗?你的意思是GMAIL API这个吗?
    • 当 POP3 客户端执行 LIST 或 UIDL 时,服务器将只返回最旧的 (?) 300 条消息,直到它们从服务器中删除。在最近模式下,它只会显示最近一个月的电子邮件,而不再显示。是的,我指的是 Gmail API。
    • 如果你设置了“离开服务器”和“显示所有消息”,你能看到所有消息吗?
    猜你喜欢
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 2013-04-01
    • 2014-03-06
    相关资源
    最近更新 更多