SpringBoot + Thymeleaf解析模板 发送邮件

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";
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值