日期:2014-05-18  浏览次数:20702 次

Javamail发邮件,yahoo邮箱收到后出现附件乱码问题。
设置附件文件名的代码如下:

FileDataSource   fds   =   new   FileDataSource(strPath);  
mbp.setDataHandler(new   DataHandler(fds));  
try{
mbp.setFileName(MimeUtility.encodeText(FileName, "UTF-8 ",null));  
}
catch(Exception   ie){
log.error( "sendMail ", " ",   ie.toString());
}

在文件名有中文的情况下,163和gmail的邮箱接收的附件都能正确显示文件名,只有yahoo邮箱附件文件名中文显示为乱码。实在不知道怎么解决,不知道谁遇到过类似情况。

------解决方案--------------------
GBK试一下
------解决方案--------------------
但我的问题是用javamail发送带附件的邮件,而不是用javamail收邮件。发送到yahoo邮箱后,去yahoo的网站进入邮箱打开发现附件是乱码。
改成GBK后用yahoo.com.cn的邮箱接收后确实正常了。但是登不上yahoo.com.tw,没法测试,因为是在给台湾公司做外包。不知道发yahoo.com.tw的邮箱是不是又需要改成BIG5。