将内容类型"message/rfc822"的附件转换为.msg文件



我正在使用apache的MimeMessageParser来获取MimeMessage。它具有另一个电子邮件类型附件,其中包含正文内容和内联图像。我能够从mimeMessage获取电子邮件附件,并且可以成功将其转换为.msg文件。

但是当我尝试打开该.msg文件时,出现错误

我们无法打开"C:\local\1_file_ds.msg"。该文件可能是 已打开,或者您没有打开它的权限。

谁能帮我解决这个问题?我想将电子邮件附件转换为.msg文件。

以下是我正在使用的代码。

    List<DataSource> attachmentList = email.getAttachmentList();
    int attachmentCount = 1;
    try {
        for (DataSource attachment : attachmentList) {
            if (attachment.getContentType().equals("message/rfc822")) {
                InputStream inputStream;
                inputStream = attachment.getInputStream();
                String destName = "C:\local\" + +attachmentCount + "_" + "file_ds" + ".msg";
                File file = new File(destName);
                FileUtils.copyInputStreamToFile(inputStream, file);
                attachmentCount = attachmentCount + 1;
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

我们收到了一封来自客户的电子邮件,该客户将一些 rfc822 文件附加到电子邮件中。我不得不将文件保存到磁盘并将扩展名更改为 eml。之后,我可以在MS Outlook中打开电子邮件,然后从那里将其保存为MSG格式。

因此,如果您只想打开 rfc822 附件,请使用 eml 扩展名将文件保存在磁盘上,并确保您有一个可以读取这些文件的电子邮件程序。

如果您需要味精文件,则必须找到一个转换器才能从 eml 转换为 msg。此外,MS Outlook还有一个API,您可以使用它来加载eml文件并将其保存到msg。这样您就可以创建自己的转换器。

相关内容

  • 没有找到相关文章

最新更新