0
点赞
收藏
分享

微信扫一扫

SpringBoot + Thymeleaf解析模板 发送邮件

独孤凌雪 2022-04-29 阅读 73

1. 项目目录

在这里插入图片描述

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一些问题

  1. 在包 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";
举报

相关推荐

0 条评论