在 JavaMail 中使用 FetchProfile 缓存邮件正文

Cache Message body using FetchProfile in JavaMail

我一直在使用旧版本的 JavaMail - 它打包在另一个 Maven 依赖项中,我相信它是 1.4.7。

我设置了一个获取配置文件,我试图在其中下载电子邮件的某些部分,包括 body/content。使用 IMAPFolder.FetchProfileItem.MESSAGE 从 JavaMail 1.5.2 开始这是可能的。不幸的是,这对我不可用。

有人知道如何获取 1.5.2 之前的消息内容吗?最终目标是减少服务器往返 - 所有其他方面都符合配置文件,包括将 partialFetch 设置为 false、电子邮件大小较小等。

提前致谢!

使用Message.writeTo将数据写入本地文件或ByteArrayOutputStream。然后,您可以使用 MimeMessage constructor that takes an InputStream.

为数据重建 MimeMessage 对象