Ben*_*ann 6 pop3 imap jakarta-mail javax.mail gmail-imap
我想获得一个列表,列出我收件箱中任何邮件中包含的所有人.现在我可以使用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();
}
Run Code Online (Sandbox Code Playgroud)
行消息[i] .getFrom()比我想要的慢,因为导致消息被延迟加载.有什么办法可以加快速度吗?例如,我可以做一些批量加载而不是一个一个地加载消息吗?这是否会加载整个消息,是否我只能加载to/from/cc字段或标题?POP会比IMAP更快吗?
您想在for循环之前添加以下内容
FetchProfile fetchProfile = new FetchProfile();
fetchProfile.add(FetchProfile.Item.ENVELOPE);
folder.fetch(messages, fetchProfile);
Run Code Online (Sandbox Code Playgroud)
这将预取所有消息的"信封",其中包括from/to/subject/cc字段.
| 归档时间: |
|
| 查看次数: |
4020 次 |
| 最近记录: |