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

7
有没有一种方法可以使用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协议本身不支持呢?

请参考此答案:https://dev59.com/8UzSa4cB1Zd3GeqPqNyK - user1001630
1个回答

5

JavaMail的限制。IMAP协议允许一次获取多个邮件的正文:

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

关于这个问题,如果我们得到的响应是一个IMAPResponse对象,那么我该如何将其作为MultiPart对象获取正文内容呢?我正在尝试避免手动解析响应... - Justmaker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接