我想获得一个列表,列出曾经包含在我收件箱中的任何消息中的每个人。现在我可以使用 javax 邮件 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 字段或标题吗?POP 会比 IMAP 快吗?