调用 javax.mail.Message.getInputStream() 时得到的类型是什么
What is the type you get when you call javax.mail.Message.getInputStream()
我正在尝试解析一封电子邮件,然后将实际的电子邮件作为文件保存在文件系统中以供审核,并将其从交换服务器中删除。 (与在 outlook 中保存电子邮件的方式相同)
为此,我发现我可以调用
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--
您需要使用 Message.writeTo 将消息保存到文件。
对邮件使用 getContentType。 Mime 消息映射到 Windows 上的 .eml
。
我正在尝试解析一封电子邮件,然后将实际的电子邮件作为文件保存在文件系统中以供审核,并将其从交换服务器中删除。 (与在 outlook 中保存电子邮件的方式相同)
为此,我发现我可以调用
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--
您需要使用 Message.writeTo 将消息保存到文件。
对邮件使用 getContentType。 Mime 消息映射到 Windows 上的 .eml
。