SpringBoot+JavaMailSender发送邮件
概述
spring提供了发送邮件的接口JavaMailSender,通过JavaMailSender可以实现后端发送邮件,并且可以根据不同业务需求,利用JavaMailSender定制化发送邮件工具。spring boot +JavaMailSender接口发送邮件步骤如下
1、在pom.xml中引入spring-boot-starter-mail依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2、如果需要通过模板化发送邮件,则还需要引入spring-boot-starter-freemarker,通过freemarker来生成邮件模板
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
3、编写邮件发送类mailUtils(注意要使用@component标签),注入JavaMailSender,以及邮件模板freemarker bean,配置邮件发送方以及相关的STMP配置
@Value("${spring.mail.username}")
private String fromMail;
private final JavaMailSender sender;
private final FreeMarkerConfigurer freeMarkerConfigurer;
@Autowired
private JavaMailSender mailSender;
或者在同一初始化配置里创建JavaMailSender bean,再通过SpringContextUtils.getBean("mailSender") (mailSender为beanName)获取,本文通过第二种方式
MailUtils的sendMsg()方法实现通用邮件发送接口
这四个参数必须有
* @param mail 邮箱,支持多个
* @param subject 邮件主题
* @param title 邮件标题