1. 项目目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ef63b34230b4471a0ab30acdbea6b95.png)
2. 类Email 处理前端请求
@Controller
public class Email {
private EmailService emailService;
public Email(EmailService emailService) {
this.emailService = emailService;
}
@GetMapping("/")
public String index() {
return "index";
}
@GetMapping("/sendEmail")
public String sendEmail(String recipientEmail) throws MessagingException {
emailService.sendEmail(recipientEmail);
return "index";
}
}
3. 类EmailService
@Service
public class EmailService {
private JavaMailSenderImpl mailSender;
private TemplateEngine templateEngine;
public EmailService(JavaMailSenderImpl mailSender, SpringTemplateEngine templateEngine) {
this.mailSender = mailSender;
this.templateEngine = templateEngine;
}
public void sendEmail(String recipientEmail) throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
helper.setSubject("Test Email");
helper.setFrom("example@qq.com");
helper.setTo(recipientEmail);
Context ctx = new Context();
ctx.setVariable("name", "JACK");
String emailStr = templateEngine.process("stencil/emailTemplate", ctx);
helper.setText(emailStr, true);
mailSender.send(mimeMessage);
}
}
thymeleaf一些问题
- 在包 package org.springframework.boot.autoconfigure.thymeleaf; 里的ThymeleafProperties类,默认定义了thymeleaf的前后缀。
@ConfigurationProperties(prefix = "spring.thymeleaf")
public class ThymeleafProperties {
private static final Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html";