当前位置:   article > 正文

SpringBoot实现邮箱发送验证码(QQ,163等同理)_springboot 邮件验证码

springboot 邮件验证码

准备工作(依赖和yml文件的配置)

我们要远程操纵邮箱就需要获得每个邮箱的密钥:

1.先进入你的qq邮箱:

在这里插入图片描述

2.进入用户设置

在这里插入图片描述

3.开启POP3和SMTP服务(这里我已经开启过了)

在这里插入图片描述

开启时它会让你发送一个短信,发送成功过后它会给你一个密钥,这个一定要记好,记好,记好!!!(不要泄露)
这个就是后面要在yml文件中配置的账号秘钥

<!--  SpingBoot的版本采用2.4.0-->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.0</version>
    <relativePath/>
  </parent>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- Spring Mail依赖 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
  </dependencies>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
# 端口号
server:
  port: 8081
# e-mail
spring:
  # 发送邮件配置
  # 发送邮件相关配置
  mail:
    host: smtp.qq.com # 此处使用的是qq邮箱进行邮件发送
    username: ——————————@qq.com # 发送邮件的账号(也就是本人账号)
    password: ———————————— # 账号秘钥(注意这不是登录你QQ邮箱的密码!该秘钥在开启SMTP服务时会给出。)
    default-encoding: UTF-8 #编码风格
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

邮件的发送代码

1.新建1个Controller类

@RestController
public class EmailController {
    @Autowired(required = false)
    private JavaMailSender sender; // 引入Spring Mail依赖后,会自动装配到IOC容器。用来发送邮件
    @GetMapping("/test")
    public String test1(){
        String code = "6666";// 验证码
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("【测试验证码】验证消息"); // 发送邮件的标题
        message.setText("登录操作,验证码:"+ code + ",切勿将验证码泄露给他人,本条验证码有效期2分钟。"); // 发送邮件的内容
        message.setTo("_______@qq.com"); // 指定要接收邮件的用户邮箱账号
        message.setFrom("_______@qq.com"); // 发送邮件的邮箱账号,注意一定要和配置文件中的一致!
        sender.send(message); // 调用send方法发送邮件即可
        return "放送成功";
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

启动项目进行测试
在这里插入图片描述
检查看邮箱是否收到了
在这里插入图片描述
成功!!!

补充

当然作者并不是就只是试了1次就成功了,我大概试了1天左右,同时也在CSDN找了很久的教程,跟着他们的走了很多次,经历了很多次报错,其中最多的就是NullPointException也就是大家常见的空指针异常,也就是图中画的地方。
在这里插入图片描述
这里一定要用Autowired注入
在这里插入图片描述

最后在这里我不建议大家去在SpringBoot中写个测试类去测试这个邮箱发送功能,会报很多异常(jar包不匹配,空指针等…),因此,在这里我演示的就是在Controller层中写,通过Postman进行接口测试,这样会减少大家很多的报错,节约时间。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/686356
推荐阅读
相关标签
  

闽ICP备14008679号