将所有数据加载到Message对象

时间:2018-03-21 01:55:00

标签: java javamail

有没有办法将所有电子邮件数据加载到Message对象,该对象在关闭FolderStore后会有效? 我试过通过MimeMessage构造函数进行复制,但后来我没有在新对象中收到日期:

Message message = inbox.getMessages()[0];
MimeMessage msg = new MimeMessage((MimeMessage)message);
msg.getReceivedDate(); // <- always null

我已尝试使用FetchProfile,但仍需要打开Folder

我必须处理一些电子邮件。不幸的是,它可能需要一些时间,因此我必须选择在不打开Folder的情况下执行此操作。

1 个答案:

答案 0 :(得分:1)

MimeMessage复制构造函数将复制邮件的内容,并为您提供一个可在文件夹关闭后访问的MimeMessage对象,但如果您想要与邮件关联的元数据,例如标志和收到的日期,则我需要明确地保存它们。您还应该考虑将整个消息复制到本地内存中的内存使用情况。