gpt4 book ai didi

imap - 在 Java 中更快地阅读收件箱

转载 作者:行者123 更新时间:2023-12-02 19:58:24 27 4
gpt4 key购买 nike

我想获取曾经包含在我的收件箱中的任何邮件中的所有人的列表。现在我可以使用 javax mail API 通过 IMAP 连接并下载邮件:

Folder folder = imapSslStore.getFolder("[Gmail]/All Mail");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();

for(int i = 0; i < messages.length; i++) {
// This causes the message to be lazily loaded and is slow
String[] from = messages[i].getFrom();
}

messages[i].getFrom() 行比我想要的要慢,因为它会导致消息被延迟加载。我可以做些什么来加快速度吗?例如。我可以做某种批量加载,而不是逐一加载消息吗?这是否会加载整个消息?我可以做些什么来仅加载 to/from/cc 字段或 header 吗? POP 会比 IMAP 更快吗?

最佳答案

您想在 for 循环之前添加以下内容

FetchProfile fetchProfile = new FetchProfile();
fetchProfile.add(FetchProfile.Item.ENVELOPE);
folder.fetch(messages, fetchProfile);

这将预取所有邮件的“信封”,其中包括 from/to/subject/cc 字段。

关于imap - 在 Java 中更快地阅读收件箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10291705/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com