繁体   English   中英

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

[英]Convert an attachment of Content-type "message/rfc822" to .msg file

我正在使用 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 扩展名保存在磁盘上,并确保您有一个可以读取这些文件的电子邮件程序。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM