我的JAMES邮件服务器中有一个传入的MimeMessage
。我想创建一个eml文件来完全转储消息。我尝试使用MimeMessage的writeTo
方法,结果文件只包含电子邮件的文本正文。附件不会写入eml文件。我的代码有点像
String logFileName = "dumpNow.eml";
incomingEmail.getMessage().writeTo(new FileOutputStream(new File(logFileName)));
我在转储中没有得到任何多部分内容。有乌蒂尔可以做这件事吗Apache Mimeutils也给出了相同的结果。
试试这个:
// 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);
我认为这是因为您错过了在代码中设置标题和处理。
希望有帮助,