上面是在spring中配置邮件发送器的代码,其中设置了默认编码为UTF-8。但是在实际的应用中会554的错误,因为乱码导致发出的邮件被识别为垃圾邮件。
try {
MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
helper.setFrom("[email protected]");
helper.setTo("[email protected]");
helper.setSubject("交换契约");
helper.setText("你好,很高兴认识你!");
UrlResource ur = new UrlResource("http://192.168.1.109:8089/common/2016/11/11/20161111141623053228.png");
helper.addAttachment("附件.jpg", ur);
javaMailSender.send(message);
}
catch (MailException ex) {
// simply log it and go on...
ex.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
在上面的代码中,加入MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");这句话。在编码层中明确使用UTF-8编码,这样的话就不会出现乱码了。