调用javax.mail.Message.getInputStream()时获得的类型是什么

时间:2018-01-17 16:34:29

标签: javamail

我正在尝试解析一封电子邮件,然后将实际的电子邮件保存为文件系统中的文件以进行审核,并将其从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--

2 个答案:

答案 0 :(得分:2)

在邮件上使用getContentType。 Mime消息映射到Windows上的.eml

答案 1 :(得分:0)

您需要使用Message.writeTo将消息保存到文件中。