折腾了很久,总结下解决方案:
1. 程序运行之初 System.setProperty("mail.mime.splitlongparameters","false");
2. MimeUtility.decodeText(fileName)
3. MimeUtility.encodeText(fileName, "UTF-8", "B");
以上三种方法都是可以试下,反正我是拿1和3测试成功了。
注意一点,不同的邮箱显示乱码也不一样,譬如我在QQ邮箱里的附件显示乱码,但是在163邮箱里看到的却是正常的,很奇怪!