SpringBoot发送验证码到QQ邮箱JavaMailSender注入失败

报错内容

***************************
APPLICATION FAILED TO START
***************************

Description:

Field javaMailSender in com.hmdp.controller.EmailController required a bean of type 'org.springframework.mail.javamail.JavaMailSender' that could not be found.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'org.springframework.mail.javamail.JavaMailSender' in your configuration.


Process finished with exit code 1

解决方案

  1. 导入依赖

        
        
            org.springframework.boot
            spring-boot-starter-mail
        
  1. required=false表示当前Bean如果有的话直接注入,没有的话忽略跳过

required=true表示必须注入,默认使用true

SpringBoot发送验证码到QQ邮箱JavaMailSender注入失败_第1张图片
  1. 在application.yml文件添加配置

注意 : mail缩进格式

spring:
  # QQ邮箱验证码
  mail:
    # 配置 SMTP 服务器地址
    host: smtp.qq.com
    # 发送者邮箱
    username: [email protected]
    # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
    password: 
    # 端口号465或587
    port: 587
    # 默认的邮件编码为UTF-8
    default-encoding: UTF-8
    # 配置SSL 加密工厂
    properties:
      mail:
        smtp:
          socketFactoryClass: javax.net.ssl.SSLSocketFactory
        #表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
        debug: true

你可能感兴趣的:(java,spring,boot)