Spring Boot是一个用于构建独立的、生产级别的Spring应用程序的框架。它简化了Spring应用程序的配置和部署过程,并提供了一套强大的开发工具和约定,使开发人员能够快速构建可靠的应用程序。
Thymeleaf是一种现代化的服务器端Java模板引擎,用于构建可扩展的自然模板。它具有简单、灵活和强大的特性,可以与Spring Boot无缝集成,用于生成动态的HTML页面。
使用Spring Boot和Thymeleaf发送HTML电子邮件的步骤如下:
<dependencies>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!-- Thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
spring.mail.host=smtp.example.com
spring.mail.port=587
spring.mail.username=your-email@example.com
spring.mail.password=your-password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Email Template</title>
</head>
<body>
<h1 th:text="${title}">Default Title</h1>
<p th:text="${message}">Default Message</p>
</body>
</html>
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
@SpringBootApplication
public class EmailApplication {
@Autowired
private JavaMailSender mailSender;
public static void main(String[] args) {
SpringApplication.run(EmailApplication.class, args);
}
@GetMapping("/")
public String sendEmail(Model model) {
String title = "Welcome to My Website";
String message = "Thank you for visiting my website. Have a nice day!";
model.addAttribute("title", title);
model.addAttribute("message", message);
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setTo("recipient@example.com");
mailMessage.setSubject("Welcome Email");
mailMessage.setText("This is a welcome email.");
mailSender.send(mailMessage);
return "email-sent";
}
}
在上述代码中,我们使用@Autowired
注解将JavaMailSender
自动注入到EmailApplication
类中。然后,我们在sendEmail
方法中设置邮件的标题和内容,并创建一个SimpleMailMessage
对象来设置收件人、主题和正文。最后,通过调用mailSender.send(mailMessage)
方法发送邮件。
以上就是使用Spring Boot和Thymeleaf发送HTML电子邮件的完整步骤。通过这种方式,我们可以方便地发送包含动态数据的HTML邮件。对于更复杂的邮件需求,可以使用Spring Boot提供的更高级的邮件功能或者结合其他库来实现。
腾讯云相关产品推荐:
领取专属 10元无门槛券
手把手带您无忧上云