当前位置:   article > 正文

springboot整合邮箱验证_springboot.yml中配置邮箱

springboot.yml中配置邮箱

前提条件

我用的是163邮箱,优先需要授权码,如何开启授权码请参考链接

https://note.youdao.com/ynoteshare/index.html?id=f9fef46114fb922b45460f4f55d96853&type=note&_time=1652348989465

1.先上pom依赖

  1. <!-- 邮箱依赖-->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-mail</artifactId>
  5. </dependency>

2.在yml设置

  1. spring:
  2. mail:
  3. host: smtp.163.com
  4. default-encoding: utf-8
  5. password: 授权码
  6. username: 自己的163邮箱
  7. properties:
  8. mail:
  9. smtp:
  10. ssl: enable=true

 3.新建一个MailController.java文件

  1. @RestController
  2. public class MailController {
  3. @Value("${spring.mail.username}")
  4. private String from;
  5. @Autowired
  6. private JavaMailSender mailSender;
  7. @RequestMapping("/sendmail")
  8. public boolean sendMimeMail(String email, HttpSession httpSession) {
  9. try {
  10. //声明一个邮件发送请求
  11. SimpleMailMessage mailMessage=new SimpleMailMessage();
  12. //调用6位随机数随机数
  13. String code = randomCode();
  14. //将随机数放入Session中
  15. httpSession.setAttribute("email","要发送到的邮箱");
  16. httpSession.setAttribute("code",code);
  17. //邮件验证消息
  18. mailMessage.setSubject("邮件验证消息");
  19. //收到的验证码
  20. mailMessage.setText("收到的验证码:"+code);
  21. //发给谁
  22. mailMessage.setTo("要发送到的邮箱");
  23. //从哪发
  24. mailMessage.setFrom(from);
  25. //发送
  26. mailSender.send(mailMessage);
  27. return true;
  28. }catch (Exception e){
  29. e.printStackTrace();
  30. return false;
  31. }
  32. }
  33. //6位验证码
  34. public String randomCode(){
  35. StringBuilder stringBuilder = new StringBuilder();
  36. Random random=new Random();
  37. for (int i=0;i<6;i++){
  38. //从0-9中随机数
  39. stringBuilder.append(random.nextInt(10));
  40. }
  41. return stringBuilder.toString();
  42. }
  43. }

4.调用接口

 

5.我是发送到QQ邮箱

 即可大功告成!

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

闽ICP备14008679号