如何使用JavaMail

时间:2016-03-16 21:53:22

标签: java javamail imap multipart

我无法找到解决方案如何使用Multipart内容下载多个电子邮件,只有一个请求到服务器(作为批量提取)。我使用的代码:

FetchProfile lFp = new FetchProfile();
lFp.add(FetchProfile.Item.ENVELOPE);
lFp.add(FetchProfileItem.FLAGS);
lFp.add(FetchProfileItem.CONTENT_INFO);
pFolder.fetch(lMessages, lFp);

但是当使用lMessages [i] .getContent()时,将执行下一次对服务器的请求。因此,对于50个下一个消息,至少有50个请求(+嵌套的Multiparts),在我的情况下是不可接受的。 如何加快速度?

2 个答案:

答案 0 :(得分:1)

如果您知道始终想要访问邮件中的所有内容,可以使用IMAPFolder.FetchProfileItem.MESSAGE

答案 1 :(得分:0)

我发现它会更简单,也许我会在将来检查它。现在我使用Justmaker的主题解决方案:JavaMail IMAP over SSL quite slow - Bulk fetching multiple messages

这种方法速度令人难以置信

编辑: @Bill Shannon我试过你的解决方案。它更复杂,还下载嵌套的MultiPart内容,包括附件