加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:13:45 所属栏目:Java 来源:网络整理
导读:我的JAMES邮件服务器中有一个传入的MimeMessage.我想创建一个完全转储消息的eml文件.我尝试使用MimeMessage的writeTo方法 – 结果文件只包含电子邮件的文本正文.附件不会写入eml文件.我的代码是这样的 String logFileName = "dumpNow.eml";incomingEmail.get
我的JAMES邮件服务器中有一个传入的MimeMessage.我想创建一个完全转储消息的eml文件.我尝试使用MimeMessage的writeTo方法 – 结果文件只包含电子邮件的文本正文.附件不会写入eml文件.我的代码是这样的

String logFileName = "dumpNow.eml";
incomingEmail.getMessage().writeTo(new FileOutputStream(new File(logFileName)));

我没有在转储中获得任何多部分内容.有没有可用的Util? 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);

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

希望能帮助到你,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读