可见此处
2 EmailService 处理邮件逻辑@Service
public class EmailService {
private TemplateEngine emailTemplateEngine;
public EmailService(SpringTemplateEngine emailTemplateEngine) {
this.emailTemplateEngine = emailTemplateEngine;
}
public void sendEmail(String recipientName, String recipientEmail) throws MessagingException {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setUsername("example@qq.com");
// qq独立密码
mailSender.setPassword("---");
mailSender.setHost("smtp.qq.com");
Properties props = new Properties();
props.put("mail.smtp.auth", true);
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.port", 587);
// props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
props.put("mail.smtp.ssl.protocols", "TLSv1.2");
props.put("mail.smtp.connectiontimeout", 20000);
mailSender.setJavaMailProperties(props);
MimeMessage mimeMessage = mailSender.createMimeMessage();
// 此处不加UTF-8,邮件里的中文会乱码
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, "UTF-8");
helper.setSubject("Test email");
helper.setFrom("example@qq.com");
helper.setTo(recipientEmail);
Context ctx = new Context();
ctx.setVariable("name", recipientName);
String processedText = emailTemplateEngine.process("email-template", ctx);
// true = 邮件为html格式
helper.setText(processedText, true);
mailSender.send(mimeMessage);
}
}
3 SpringMVC.xml 配置thymeleaf模板引擎
该模板引擎用于将html文件解析为String
4 用于生成String的模板HTML
Template for HTML email with inline image
我是谁?
Regards,
The Thymeleaf Team
5 工程目录
路径的一些问题
- TemplateResolver的prefix
- 加classpath:thymeleaf会到resources文件夹下找文件
- 不加classpath:thymeleaf会到webapp文件夹下找文件



