使用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 包收发中文邮件的编码,解码问题以及解决方法