Java MimeMessage 到带有所有附件的 eml 文件

Kri*_*ris 5 email jakarta-mail eml james mime-message

我的JAMES邮件服务器收到MimeMessage了一封邮件。我想创建一个完全转储消息的 eml 文件。我尝试使用MimeMessage的方法 - 结果文件仅包含电子邮件的文本正文。附件不会写入 eml 文件。我的代码是这样的writeTo

String logFileName = "dumpNow.eml";
incomingEmail.getMessage().writeTo(new FileOutputStream(new File(logFileName)));
Run Code Online (Sandbox Code Playgroud)

我在转储中没有得到任何多部分内容。有没有可用的工具来做到这一点?Apache Mimeutils也给出了相同的结果。

Beg*_*ner 0

尝试这个 :

// Create your attachement file
File emlFile = new File("myFile.eml");
emlFile.createNewFile();
incomingEmail.getMessage().writeTo(new FileOutputStream(emlFile));

MimeBodyPart attachment = new MimeBodyPart();

DataSource source = new FileDataSource(emlFile);

attachment.setDataHandler(new DataHandler(source));
attachment.setHeader("Content-Type", "application/octet-stream");
attachment.setFileName("myFileName.eml");
attachment.setDescription("My file description");
attachment.setDisposition(Part.ATTACHMENT);

multipart.addBodyPart(attachmentFile);
Run Code Online (Sandbox Code Playgroud)

我认为这是因为您错过了在代码中设置标题和配置。

希望能帮助到你,