如何在javamail中解码附件分块文件名?

时间:2017-12-21 09:32:27

标签: java email javamail

我正在试图弄清楚如何管理文件夹分块的邮件附件。我在Java 1.6上使用javamail 1.5.1并且我的代码可以管理所有类型的邮件但是当我从特定地址收到一个时(我不能与那些人交谈)它没有正确导入一些附件。当我用记事本打开那些atachments(假设这个名字是没有extension.extension的文件名)时,我发现了这个:

Content-Type: application/octet-stream; 
    name*0="filename without extension"; name*1=.extension
Content-Transfer-Encoding: base64
Content-Disposition: attachment; 
    filename*0="filename without extension"; filename*1=.extension
在base64内容之前

。我试图搜索类似的问题,但我有确切的文件名,但它被拆分,BodyPart.getFilename()方法返回null。我正在考虑采用整个标题并开展工作。

1 个答案:

答案 0 :(得分:0)

您的Javamail版本应支持此功能。

System.setProperty("mail.mime.decodeparameters", "true");

有关详细信息,请搜索" RFC 2231"关于javax.mail.internet的包文档:

https://docs.oracle.com/javaee/6/api/javax/mail/internet/package-summary.html