【问题标题】:Bulk Fetch Mail Bodies Using Javamail API and IMAP使用 Javamail API 和 IMAP 批量获取邮件正文
【发布时间】:2011-08-18 02:17:14
【问题描述】:

有没有办法通过使用 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 协议根本不支持?

【问题讨论】:

标签: java imap jakarta-mail


【解决方案1】:

JavaMail 的限制。 IMAP 协议允许一次获取多条消息的正文:

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

【讨论】:

  • Cocnerning 这个问题,如果我们将响应作为 IMAPResponse 对象获取,那么我如何才能将正文内容作为 MultiPart 对象获取?我试图避免手动解析响应...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 2015-01-17
  • 2012-03-05
  • 2015-04-25
  • 2013-04-30
  • 2017-02-02
相关资源
最近更新 更多