使用Javamail API和IMAP批量获取邮件正文

前端之家收集整理的这篇文章主要介绍了使用Javamail API和IMAP批量获取邮件正文前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

有没有办法通过使用Javamail API一次调用IMAP服务器来获取多个电子邮件邮件正文?

我知道我可以使用Message.getContent()调用到达给定消息的主体,但这最终会为每个消息调用imap服务器.

是否可以使用FetchProfile和Folder.fetch调用批量获取主体?文档暗示FetchProfile仅用于头数据.我尝试了以下方法,但是没有做到这一点:

FetchProfile fp = new FetchProfile();
fp.add("rfc822.text");
inBox.fetch(messages,fp);

如果使用Javamail无法做到这一点,是因为Javamail API中的约束还是IMAP协议根本不支持这个?

最佳答案
JavaMail的局限性. IMAP协议允许一次获取多个消息的正文:

a1 fetch 1:* (rfc822.header rfc822.text)

猜你在找的Java相关文章