SpringBoot通过qq邮箱发送验证码

SpringBoot通过qq邮箱发送验证码

1、开启qq授权码

在这里插入图片描述

2、编写配置文件

spring:
  #邮箱验证
  mail:
    ##163 smtp.163.com(反垃圾系统发送不了了)
    ##qq  smtp.qq.com
    host: smtp.qq.com
    ##编码格式
    default-encoding: UTF-8
    ##邮箱用户名
    username: qq邮箱
    ##邮箱密码(注意:QQ邮箱应该使用授权码)
    password: 使用授权码
    ##端口号465587
    port: 587
    #开启加密规则
    properties:
      mail:
        smtp:
          socketFactoryClass: javax.net.ssl.SSLSocketFactory
          #表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
          debug: true
check:
  #邮箱验证配置
  mail:
    sender:                 #发送者
    subject:            #邮箱标题
    str1: 【 】你的验证码为【
    str2:(若不是本人操作,可忽略该条邮件)

3、编写java类

@Component
public class EmailMessageUtil{

    @Autowired
    JavaMailSenderImpl mailSender;

    @Value("${check.mail.sender}")
    private String sender;

    @Value("${check.mail.subject}")
    private String subject;

    @Value("${check.mail.str1}")
    private String str1;

    @Value("${check.mail.str2}")
    private String str2;
    /**
     * 发送邮件
     *
     * @return 提示信息
     */
    public String sendMessage(String email,String code)throws MailException {
        //引入编码工具类
        SimpleMailMessage message = new SimpleMailMessage();
        //发送者
        message.setFrom(sender);
        //发送邮件地址
        message.setTo(email);
        //标题
        message.setSubject(subject);
        //内容
        message.setText(str1+code+str2);
        mailSender.send(message);
        return "send success";
    }

}

版权声明:本文为weixin_43612925原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。