网上有很多类似的解决方案,很多是使用
if ((fileName != null) && (fileName.toLowerCase().indexOf("gb2312") != -1)){ fileName = MimeUtility.decodeText(fileName); }
来解决,但对应gbk编码的附件名,这里仍不能正确处理。解决的方法很简单,加入对gbk的判断即可
fileName = bodyPart.getFileName();
//解决中文附件名的问题
if ((fileName != null) && ( (fileName.toLowerCase().indexOf("gb2312") != -1) || (fileName.toLowerCase().indexOf("gbk") != -1) )){
fileName = MimeUtility.decodeText(fileName);
}
转载于:https://www.cnblogs.com/jubincn/archive/2012/03/28/3381222.html
相关资源:JavaMail 1.6.2及使用代码