springboot+Thymeleaf实现发送Email模板邮件

本文介绍了如何在Spring Boot应用中利用Thymeleaf模板引擎发送包含纯文本、图片和附件的邮件。首先展示了发送邮件的效果,接着讲解了支持的邮件类型。文章详细阐述了添加POM依赖、配置邮件服务器属性、创建邮件工具类和参数实体类,以及如何设置HTML模板。最后,展示了Controller如何调用这些工具来实际发送邮件。
摘要由CSDN通过智能技术生成

       在后台服务器中发送邮件已经是一个非常常用的功能了。通常来说虽然HTML并非是一个非常标准的信息格式,但是至少许多邮件客户端都至少支持一部分标记语言。 在这边教程中主要是关于教你如何在Spring Boot 应用中发送邮件以及使用非常简单强大的Thymeleaf模板引擎来制作邮件内容。

发送邮件效果展示:

本文支持邮件类型:

  • 纯文本邮件
  • 图片邮件
  • 带附件的邮件

导入pom依赖

<!-- 发送邮件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>
		<dependency>
   			<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

邮件服务器属性配置(Properties configuration)

通常情况下,如果所需要的依赖在 class path 中都是可用的话,这时候Spring会自动帮你注册一个默认实现的邮件发送服务 (default mail sender service)spring.mail.host 属性已经被自动定义了, 所有我们所需要做的事情就是把这个属性添加到我们应用的 application.properties 配置文件中。

为了防止springboot项目打包成jar文件之后,读取不到文件,我们把图片和附件都放在服务器指定路径上,直接读取该文件。

#mail
spring.mail.host=smtp.163.com
spring.mail.username=*********@163.com
spring.mail.password=********
spring.mail.properties.mail.smtp.auth=false
spring.mail.properties.mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.starttls.required=false
#html template path (resources/templates/email/template.html)
templatePath=email/template
#mail image path
imagePath=D:\\image\\logo.jpg
#imagePath=/neworiental/web/cpbm/image/logo.jpg

邮件发送的工具类

/**
 * 发送邮件工具类
 * @author 
 *
 */
@Component
public class SendEmailUtils {
	private final static Logger logger = LoggerFactory.getLogger(SendEmailUtils.class); 

	@Autowired
	private JavaMailSender javaMailSender;
	@Autowired
	private TemplateEngine templateEngine;

/**
	 * html模板邮件
	 * @param from 发件人
	 * @param to 收件人
	 * @param subject 邮件主题
你可以使用Spring Boot和Thymeleaf实现邮箱验证登录功能。下面是一些基本的步骤: 1. 添加所需的依赖:在您的项目的pom.xml文件中添加Spring Boot和Thymeleaf的依赖项。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> ``` 2. 创建一个包含登录表单的HTML页面。您可以使用Thymeleaf模板引擎来渲染页面和处理表单提交。 ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Login</title> </head> <body> <h1>Login</h1> <form action="/login" method="post"> <input type="email" name="email" placeholder="Email" required/> <input type="password" name="password" placeholder="Password" required/> <button type="submit">Login</button> </form> </body> </html> ``` 3. 创建一个控制器类来处理登录请求和验证逻辑。 ```java @Controller public class LoginController { @GetMapping("/login") public String showLoginForm() { return "login"; } @PostMapping("/login") public String login(@RequestParam("email") String email, @RequestParam("password") String password) { // 进行邮箱验证和登录逻辑的处理 // ... return "redirect:/home"; } @GetMapping("/home") public String home() { return "home"; } } ``` 4. 创建一个用于显示登录成功页面的HTML模板。 ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Home</title> </head> <body> <h1>Welcome!</h1> </body> </html> ``` 这只是一个基本的示例,您可能还需要添加更多的逻辑来实现完整的邮箱验证和登录功能。您可以使用Spring Security来处理用户认证和授权,以及使用Java Mail API来发送验证邮件。希望这个简单的示例能帮助您入门。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值