springboot使用javaMailSender发送邮件时附件名太长会被截取掉或者中文乱码问题
public void sendMail() {
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
System.getProperties().setProperty("mail.mime.splitlongparameters", "false");
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
mimeMessageHelper.setSubject("邮件主题");
mimeMessageHelper.setText("<b style='color:red'>就这?</b>", true);
mimeMessageHelper.setText("<a href=\"https://www.baidu.com/\">111</a>", true);
String attachmentFilename = "0215165,我是卧底,打扫房间欧文放假哦.pdf";
mimeMessageHelper.addAttachment(attachmentFilename, new File("D:\\test.pdf"));
mimeMessageHelper.setTo("xxxx@qq.com");
mimeMessageHelper.setFrom("xxx@qq.com");
javaMailSender.send(mimeMessage);
}
我们在发送邮件的时候需要带上附件,但是有时候因为附件名字太长会被截取掉或者附件名字为数字和中文的组合导致有些中文乱码,所以我们需要进行相应的处理。
我们只需要到代码中加入这行代码就行了
System.getProperties().setProperty("mail.mime.splitlongparameters", "false");
ok,现在就不会乱码了。