JavaMail附件名称出现问题



我们最近将JavaMail API升级到了最新的1.5.4版本。升级后,我们发现附件(文件名>60个字符)在Outlook(配置POP3)中作为.dat文件名接收。

请注意,只有当文件名超过60个字符并且Outlook配置了POP3时,才会出现此问题。

我们注意到,在JavaMail升级后,名称文件名属性将作为多行出现。

JAVAMAIL升级前的邮件头

Content-Type: application/octet-stream; 
    name=Automation_Team_Directory_05-Dec-2015_123219_21312_155018252272708.PDF
Content-Disposition: attachment; 
    filename=Automation_Team_Directory_05-Dec-2015_123219_21312_155018252272708.PDF


JAVAMAIL升级后的邮件头

Content-Type: application/octet-stream; 
    name*0=Automation_Team_Directory_05-Dec-2015_123219_21312_155018252; 
    name*1=272708.PDF
Content-Disposition: attachment; 
    filename*0=Automation_Team_Directory_05-Dec-2015_123219_21312_155018252; 
    filename*1=272708.PDF

我们如何解决该问题,使其在使用POP3的Outlook中正确显示附件?

将系统属性mail.mime.encodeparameters设置为false。这将在创建消息时禁用RFC 2231支持。

我来这里是因为我遇到了同样的问题,即Coldfusion 11、2016和2018的新版本的附件通过电子邮件发送,这些新版本收到了升级Java Mail的最新补丁。

这重申了日本网站上的一个条目,即您可以通过Admin屏幕或编辑JVM.config文件将此属性添加到JVM属性中,从而将其放入Coldfusion。

http://cfassociates.samuraiz.co.jp/index.cfm/faq/cftech/cfmail-attachfilename-garbled/

然后要添加的属性是:

-Dmail.mime.encodeparameters=false

您会发现它改变了如上所述用于定义附件的页眉样式。

相关内容

  • 没有找到相关文章

最新更新