我正在尝试解析一封电子邮件,然后将实际的电子邮件保存为文件系统中的文件以进行审核,并将其从Exchange服务器中删除。 (就像你在电子邮件中一样保存在Outlook中)</ p>
所以要做到这一点我发现我可以打电话
Message.getInputStream()
检索文件字节。它工作正常,我可以将电子邮件作为文件写入文件系统。
我的问题是这个文件类型是什么?是.eml还是.msg?或者是其他东西? 在查看其内容时,我看到的是文本,而不是二进制数据
--_004_MWH_#TRUNCATED#_11namp_
Content-Type: multipart/alternative;
boundary="_000_MWHPR_#TRUNCATED#_1711namp_"
--_000_MWHPR10_#TRUNCATED#_HPR10MB1711namp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
getInputStream并没有多说数据类型...... https://docs.oracle.com/javaee/7/api/javax/mail/Part.html#getInputStream--
答案 0 :(得分:2)
在邮件上使用getContentType。 Mime消息映射到Windows上的.eml
。
答案 1 :(得分:0)
您需要使用Message.writeTo将消息保存到文件中。