【问题标题】:Reading .eml into JavaMail MIME format将 .eml 读入 JavaMail MIME 格式
【发布时间】:2012-06-13 23:38:16
【问题描述】:

我已将单个消息作为 .eml 文件存储在我的磁盘上。当需要将它们从磁盘读取到内存时,我无法恢复电子邮件的正文(文本)。这是读取.eml文件的代码

String filePath = "filepath\\msg0.eml";
InputStream is = new FileInputStream(filePath);
MimeMessage mime = new MimeMessage(null, is);

这是有趣的事情——我可以打印出关于电子邮件的各种信息、发件人、主题行、收到时间、抄送、密送等。我就是无法访问电子邮件内容。我应该在哪里看到正文,而不是内存地址(下)

content type: multipart/alternative; boundary="00032555717a714a1504a378be8e"

所以有什么帮助吗?我忘记了像演员表这样简单的事情吗?除了 MimeMessage 格式之外,我还尝试从 Multipart 和 Message 打印内容。感谢您的意见,谢谢!

【问题讨论】:

标签: java jakarta-mail eml mime-message


【解决方案1】:

使用 JavaMail 附带的 msgshow.java 演示程序来显示文件中的消息。使用 -m 选项。如果它没有显示您所期望的,那么文件格式是错误的,您应该查看将消息存储在文件中的程序。

如果您仍然遇到问题,我们将需要更多详细信息来帮助您找出问题所在。

【讨论】:

  • 感谢您的快速回复,稍微修改了 msgshow 演示后,它工作了。现在弄清楚它是如何/为什么起作用的(我之前曾尝试使用 msgshow 没有任何运气。再次感谢!
  • 我没有从 msgshow 的 main 方法运行,而是在我自己的类中创建了一个 msgshow 对象。我将 MIME 对象转换为 Part 对象并调用 dumpPart(Part p)。这似乎奏效了。现在我正在将一个 ArrayList 读入一个 MimeMessage 数组。
猜你喜欢
  • 2011-07-30
  • 2020-08-14
  • 2014-10-12
  • 1970-01-01
  • 2013-01-14
  • 1970-01-01
  • 2011-12-29
  • 2019-06-21
  • 2011-09-05
相关资源
最近更新 更多