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

问题描述 投票:0回答:1

我试图弄清楚如何管理具有文件名块的邮件的附件。我在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。我正考虑采取整个标题,并努力。

java email javamail
1个回答
0
投票

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

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

有关更多信息,请在javax.mail.internet的软件包文档中搜索“RFC 2231”:

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

© www.soinside.com 2019 - 2024. All rights reserved.