【问题标题】:MimeMessage not parsing attachments in outlook EML filesMimeMessage 不解析 Outlook EML 文件中的附件
【发布时间】:2018-06-25 05:38:52
【问题描述】:

我正在使用 javax.mail.internet.MimeMessageeml 文件中解析/提取数据。

 MultiPart multiPart = 
 (MultiPart)MimeMessage.getContent();
  ...//check if attachments are present, then extract it
 MimeBodyPart part = (MimeBodyPart)multiPart.getBodyPart(attachmentIndex);
 String fileName = part.getFileName();

文件名总是打印空。我如何知道附件文件名和扩展名?至少不知道扩展名,我什至无法正确保存文件。

基本上,我正在寻找一个通用 Java 库 API,它解析 eml 文件并提供消息文本和附件(递归?)。

【问题讨论】:

    标签: outlook jakarta-mail eml


    【解决方案1】:

    附件不是必需文件名。

    如果您的 EML 文件是 MIME 格式并包含文件名,但 JavaMail 没有找到它,请发布示例。

    【讨论】:

    • 但在我的例子中,一个 EML 文件包含多个附件。除非我知道文件扩展名,否则我将如何以正确的格式保存内容?
    • 如何确定我的 EML 文件是否为 MIME 格式?我看到在每个二进制内容之前,都有Content-Type: application/pdf; name=xyz.pdfContent-Disposition: attachment; filename=
    • 看起来是 MIME 格式。您使用的是什么版本的 JavaMail?如果你在 EML 文件上运行JavaMail mgshow.java sample program,你会得到什么输出?
    • 最后我得到%%EOFCONTENT-TYPE: application/vnd.ms-excel; name="..."FILENAME: ...xlsThis is just an input stream,然后在IDE的输出控制台上得到一些二进制数据。
    • 看起来 JavaMail 正在查找文件名。查看 msgshow.java 源代码并找出它的作用与您的程序所做的不同。
    猜你喜欢
    • 2016-07-10
    • 2019-06-02
    • 1970-01-01
    • 2023-04-07
    • 2019-09-09
    • 1970-01-01
    • 2012-07-09
    • 2019-02-08
    相关资源
    最近更新 更多