使用 javamail 解析 eps 附件
Posted
技术标签:
【中文标题】使用 javamail 解析 eps 附件【英文标题】:eps attachment parsing with javamail 【发布时间】:2013-05-19 16:14:19 【问题描述】:使用 javamail 解析 eml 中的 eps 附件是否需要任何特殊处理 我对其他类型的附件没有任何问题。只有 eps 附件有问题
当我使用 Outlook 2010 发送 eps 附件时,它会将编码从 base64 转换为quoted-printable。
下面是我要解析的 eps 附件的标题。
内容类型:应用程序/后记; 名称="LOGO.eps" 内容传输编码:quoted-printable 内容处置:附件; 文件名="LOGO.eps"
附件已提取。但是当我用文档查看器打开它时,它说永远加载
【问题讨论】:
【参考方案1】:JavaMail 试图通过查看实际数据来猜测数据的最佳 Content-Transfer-Encoding。如果 JavaMail 猜测数据是文本,它可能会使用quoted-printable。在某些情况下,猜测可能是错误的,在这种情况下,您需要自己指定编码。如果您使用的是 JavaMail 1.5,有一个 new attachFile method 可以让这更容易。
【讨论】:
谢谢。我在生成附件流时没有问题。但仅限于解析它。引用的可打印编码由 Outlook2010 设置。我正在使用 javamail 解析附件 那么您需要详细说明您是如何“解析”它的,以及您打开它时使用的“文档查看器”是什么。您是否在打开/解析之前将其保存到文件中? Multipart mp= Part.getContent; MimeBodyPart mbp=Multipart.getContent();然后从 mimebodypart.getInputStream() 获取流并写入文件。使用 linux 文档查看器阅读 您可能没有将其正确保存到文件中。见this JavaMail FAQ entry。以上是关于使用 javamail 解析 eps 附件的主要内容,如果未能解决你的问题,请参考以下文章
Javamail 使用 7BIT 内容传输编码解析电子邮件正文