使用MimeUtility.encodeText()解决,具体如下:
import javax.mail.internet.MimeUtility;
EmailAttachment attachment = new EmailAttachment();
// 略
try {
attachment.setName(
// 解决附件名乱码
MimeUtility.encodeText("销售报表.xsl")
);
} catch (UnsupportedEncodingException e) {
System.out.println(e.getMessage());
}
更详细的操作方法可参考以下文章:
使用java mail 包收发中文邮件的编码,解码问题以及解决方法
http://dev.csdn.net/htmls/59/59117.html