1、设置系统值
System.setProperty(“mail.mime.splitlongparameters”, “false”);
2、 在创建对象的时候定义编码格式(utf-8):
MimeMessageHelper helper = new MimeMessageHelper(mes, true, “utf-8”);
3、 其次,在添加附件的时候,附件名是需要定义编码的
helper.addAttachment(MimeUtility.encodeWord(附件名,“utf-8”,“B”), 你的附件对象);
//生成的数据通过excel附件的方式,进行发送。
public void sendMail(String mailFrom, String mailTo, String title, String content, File file) throws Exception {
System.setProperty("mail.mime.splitlongparameters", "false");//1.设置系统值 ---处理文件名乱码
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper msg = new MimeMessageHelper(mimeMessage, true, "utf-8");//2.在创建对象的时候定义编码格式(utf-8)
msg.addAttachment(MimeUtility.encodeWord(excelName,"utf-8","B"), file); //3.在添加附件的时候,附件名是需要定义编码的 ---以上3条都得有,否则文件名乱码
msg.setFrom(mailFrom);
msg.setTo(mailTo);
msg.setSubject(title);
msg.setText(content, true);
mailSender.send(mimeMessage);
}