今天发送邮件的时候发现附件名字错误如图
解决方法:System.getProperties().setProperty("mail.mime.splitlongparameters", "false");
/**
* 发送包含附件的邮件
*/
@Override
public void sendAttachmentMail(String[] toMails, String subject, String htmlAttachText) {
// 解决附件名过长被截取的问题
System.getProperties().setProperty("mail.mime.splitlongparameters", "false");
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
try {
// multipart模式
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true, "utf-8");
setMailInfo(toMails, subject, htmlAttachText, mimeMessageHelper);
// 设置附件
FileSystemResource xlsx = new FileSystemResource(new File("D:/MailImage/软件项目需求.xlsx"));
mimeMessageHelper.addAttachment("软件项目需求.xlsx", xlsx);
// 发送邮件
javaMailSender.send(mimeMessage);
log.info("^o^= 邮件已发送");
} catch (Exception e) {
log.info("^o^= 邮件发送失败{}:",e);
}
}