Spring Boot如何实现邮件发送
准备工作
这里就以 QQ 邮箱来进行演示,使用 QQ 邮箱首先要申请开通 POP3/SMTP 服务或者 IMAP/SMTP 服务,这里介绍下 QQ 邮箱如何开通 POP3/SMTP 服务或者 IMAP/SMTL服务的步骤
1.登陆QQ邮箱,先点击顶部的设置按钮和账户按钮,如下图所示:
2.在账户的最下方找到 POP3/SMTP 服务,单击后面的 开启 按钮,如下图所示:
然后它会提示你发送一条短信,你按照它的要求发一条短信,操作成功后,你会获得一个授权码,授权码保存下来等会要用到
1.发送简单邮件
1.首先搭建SpringBoot环境,添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.在 application.properties 文件中添加邮件的基本配置,代码如下:
# 配置 smtp 服务器地址
spring.mail.host=smtp.qq.com
# smtp 服务器的端口
spring.mail.port=587
# 配置邮箱用户名
spring.mail.username=你自己的邮箱
# 配置申请到的授权码
spring.mail.password=这里填写刚才短信申请到的授权码
# 配置邮件编码
spring.mail.default-encoding=UTF-8
# 配饰 SSL 加密工厂
spring.mail.properties.mail.smtp.socketFactoryClass=javax.net.ssl.SSLSocketFactory
# 表示开启 DEBUG 模式
spring.mail.properties.mail.debug=true
3.测试
@SpringBootTest
class SendqqemailApplicationTests {
@Autowired
JavaMailSender javaMailSender;
/**
* 发送简单邮件
*/
@Test
public void sendSimpleMail() {
SimpleMailMessage msg = new SimpleMailMessage(); //构建一个邮件对象
msg.setSubject("这是一封测试邮件"); // 设置邮件主题
msg.setFrom("bai211425401@qq.com"); // 设置邮箱发送者
msg.setTo("1712900841@qq.com"); // 设置邮件接收者,可以有多个接收者
msg.setSentDate(ne