📜  spring boot 发送邮件html模板——Java(1)

📅  最后修改于: 2023-12-03 15:35:03.166000             🧑  作者: Mango

Spring Boot发送邮件HTML模板

简介

在现代的互联网时代,邮件模板已经成为了商家向顾客发送信息的一个重要手段。使用HTML模板可以使邮件与众不同,让顾客更容易记住您的品牌。本文将介绍如何在Spring Boot中发送带有自定义HTML模板的邮件。

实现步骤
  1. 添加Spring Boot Mail Starter依赖

在pom.xml中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
  1. 配置邮件发送者信息

在application.properties或application.yml中添加以下配置:

spring.mail.host=smtp.exmail.qq.com
spring.mail.username=your@email.com
spring.mail.password=yourpassword
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
  1. 编写HTML模板
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>欢迎使用Spring Boot发送邮件</title>
</head>
<body>
    <h1 th:text="${title}"></h1>
    <p th:text="${content}"></p>
</body>
</html>
  1. 编写邮件服务类
@Service
public class MailService {
    @Autowired
    private JavaMailSender mailSender;

    public void sendHtmlMail(String to, String title, String content) {
        MimeMessage message = mailSender.createMimeMessage();

        try {
            MimeMessageHelper helper = new MimeMessageHelper(message, true);
            helper.setFrom(mailSender.getUsername());
            helper.setTo(to);
            helper.setSubject(title);
            helper.setText(content, true);

            mailSender.send(message);
        } catch (MessagingException e) {
            throw new MailException("Failed to send mail.", e);
        }
    }
}
  1. 发送邮件

使用邮件服务类发送邮件:

@Service
public class UserService {
    @Autowired
    private MailService mailService;

    public void resetPassword(String email) {
        String title = "密码重置";
        String content = "<p>尊敬的用户:</p>"
                + "<p>您好!请点击以下链接重置密码:</p>"
                + "<a href='http://localhost:8080/reset/password'>http://localhost:8080/reset/password</a>";

        mailService.sendHtmlMail(email, title, content);
    }
}
总结

通过上面的步骤,我们可以轻松地实现Spring Boot发送带有自定义HTML模板的邮件。在实际开发中,我们可以更加灵活地应用这种邮件模板,给用户发送最好的邮件信息。