使用SpringBoot发送邮箱验证码
一、开启发送验证码邮箱的POP3/SMTP服务1. 登录发送验证码邮箱2. 找到设置,开启POP3/SMTP服务二、导入依赖三、增加配置四、编写代码一、开启发送验证码邮箱的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: # 发送验证码邮箱username: ***@# 授权码password: ***# 编码default-encoding: utf-8
四、编写代码
注:在测试目录下编写代码
@SpringBootTestpublic class UserServiceTest {// 用于发送邮件的对象@Autowiredprivate 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);// 没有出现异常,正常发送,返回truereturn true;} catch (MailException e) {// 发送过程中,发生错误,打印错误信息,返回falsee.printStackTrace();return false;}}@Testpublic void test1() {// 设置验证码,可以自己随机生成String code = "011635";boolean b = sendEmailCode(code, "bliberte@", "gliberte@");}}