有没有办法通过使用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协议是否仅支持此操作?
答案 0 :(得分:4)
JavaMail的限制。 IMAP协议允许一次获取多个消息的主体:
a1 fetch 1:* (rfc822.header rfc822.text)