我阅读了这份文档:
http://docs.oracle.com/javaee/6/api/javax/mail/internet/package-summary.html
所以我向 mimeMessage 添加了一些属性:
Properties props = new Properties();
props.put("mail.mime.decodefilename", true);
Session mailConnection = Session.getInstance(props, null);
source = new FileInputStream(emlFile);
MimeMessage message = new MimeMessage(mailConnection, source);
现在我期待该方法bodyPart.getFileName()
返回正确的文件名。但是使用这种配置它仍然无法正常工作,我需要调用 mimeUtils: MimeUtility.decodeText
- 我不想要的。我也尝试:
props.put("mail.mime.decodefilename", "true");
但没有成功。那么我做错了什么?
更新:
调试后我有这个解决方案:
这行得通
Properties props = System.getProperties();
props.put("mail.mime.decodefilename", "true");
这不起作用:
Properties props = new Properites();
props.put("mail.mime.decodefilename", "true");
所以如果文件名正在解码也取决于系统属性。有谁知道哪些属性?我没有办法尝试所有系统属性并解决它是哪一个