使用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中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...