java - 将所有数据加载到 Message 对象

标签 java jakarta-mail

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

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

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

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

最佳答案

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

关于java - 将所有数据加载到 Message 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49396927/

相关文章:

java - 将 graphhopper 嵌入到项目中

java - Executors.newSingleThreadExecutor() - 如何查看队列中有多少任务

Java 对大型抽象列表的二分查找

JavaMail 不在 jetty :run-war 下发送主题或发件人

Session.getInstance 的 Java 邮件问题

java - 在同一个项目中使用 'javax.swing.Timer'和 'java.util.Timer'?

Java - 使用最小大小和分隔符拆分标记的正则表达式

java - 使用 javax mail 发送的电子邮件发送时主题和字段为空

Java邮件搜索: RECENT Flag Doesn't work on GMail

Java Mail API - 来自 FileInputStream 的数据源