使用SpringBoot发送邮箱验证码
使用SpringBoot发送邮箱验证码一、开启发送验证码邮箱的POP3/SMTP服务1. 登录发送验证码邮箱2. 找到设置,开启POP3/SMTP服务二、导入依赖三、增加配置四、编写代码一、开启发送验证码邮箱的POP3/SMTP服务注:以网易邮箱为例1. 登录发送验证码邮箱2. 找到设置,开启POP3/SMTP服务注:此时你会获得授权码,保存下来,后面会用到二、导入依赖<dependency
·
使用SpringBoot发送邮箱验证码
一、开启发送验证码邮箱的POP3/SMTP服务
注:以网易邮箱为例
1. 登录发送验证码邮箱
2. 找到设置,开启POP3/SMTP服务
注:此时你会获得授权码,保存下来,后面会用到
二、导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
三、增加配置
- 我使用的是application.yaml
- 找邮箱服务器,使用SMTP服务器的值
- 授权码
第一步获得的
spring:
mail:
# SMTP服务器
host: smtp.163.com
# 发送验证码邮箱
username: ***@163.com
# 授权码
password: ***
# 编码
default-encoding: utf-8
四、编写代码
注:在测试目录下编写代码
@SpringBootTest
public class UserServiceTest {
// 用于发送邮件的对象
@Autowired
private JavaMailSender javaMailSender;
/**
* 发送邮件
* @param code 验证码
* @param from 发送验证码的邮箱
* @param to 接收验证码的邮箱
* @return true 发送成功,否则发送失败
*/
public boolean sendEmailCode(String code, String from, String to) {
try {
// 用来设置邮件信息
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
// 设置邮件标题
simpleMailMessage.setSubject("登录验证码");
// 设置邮件内容
simpleMailMessage.setText("您收到的验证码是:" + code);
// 设置源邮箱
simpleMailMessage.setFrom(from);
// 设置目的邮箱
simpleMailMessage.setTo(to);
// 发送
javaMailSender.send(simpleMailMessage);
// 没有出现异常,正常发送,返回true
return true;
} catch (MailException e) {
// 发送过程中,发生错误,打印错误信息,返回false
e.printStackTrace();
return false;
}
}
@Test
public void test1() {
// 设置验证码,可以自己随机生成
String code = "011635";
boolean b = sendEmailCode(code, "bliberte@163.com", "gliberte@163.com");
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)