【问题标题】:read .msg file with java mail api ..pls suggest me使用 java mail api 读取 .msg 文件 ..请建议我
【发布时间】:2019-12-20 18:13:10
【问题描述】:

我正在尝试使用 Java 邮件 API 本身从 Java 应用程序中的本地系统读取 .MSG 文件。我搜索了它,但建议使用其他一些库。

【问题讨论】:

  • 不满足可用开源库的要求,我们开始将 Outlook 消息存储为 .mhtml 文件,并开始使用 Java 读取 .mhtml 文件,并在对内容进行一些调整后将内容转换回 Java Mail。暂时我们能够实现几乎需要的东西。不确定是否有更好的解决方案。

标签: java


【解决方案1】:

edit 20-12-2019:电子邮件转换逻辑已移至专用的开源库:outlook-message-parser(Simple Java Mail 中的 EmailConverter 类仍然存在)。


原答案: Simple Java Mail,一个通过 SMTP 发送电子邮件的开源库,有一个 EmailConverter 类,可以直接读取 Outlook 邮件并将其转换为 MimeMessage、Email 或 EML。

在引擎盖下,它使用msgparser (Outlook Message Parser) 的分支,而后者又使用Apache POI

来自Features page

// from Outlook .msg
Email email =             EmailConverter.outlookMsgToEmail(readToString("yourMessage.msg"));
Email email =             EmailConverter.outlookMsgToEmail(new File("yourMessage.msg"));
Email email =             EmailConverter.outlookMsgToEmail(getInputStream("yourMessage.msg"));
String eml =              EmailConverter.outlookMsgToEML(readToString("yourMessage.msg"));
String eml =              EmailConverter.outlookMsgToEML(new File("yourMessage.msg"));
String eml =              EmailConverter.outlookMsgToEML(getInputStream("yourMessage.msg"));
MimeMessage mimeMessage = EmailConverter.outlookMsgToMimeMessage(readToString("yourMessage.msg"));
MimeMessage mimeMessage = EmailConverter.outlookMsgToMimeMessage(new File("yourMessage.msg"));
MimeMessage mimeMessage = EmailConverter.outlookMsgToMimeMessage(getInputStream("yourMessage.msg"));

【讨论】:

    【解决方案2】:

    如果您要解析 Outlook .msg 文件,那么 msgparser 是小型开源 Java 库,它使用 Java 对象提供内容,它使用 Apache POI 解析文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 2013-01-25
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      相关资源
      最近更新 更多