有没有办法通过使用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)