报错内容
***************************
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
解决方案
导入依赖
<!--qq邮箱-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
required=false表示当前Bean如果有的话直接注入,没有的话忽略跳过
required=true表示必须注入,默认使用true
![](https://i-blog.csdnimg.cn/blog_migrate/bde6e38c7dcde2ecd4829b93e1399dfc.png)
在application.yml文件添加配置
注意 : mail缩进格式
spring:
# QQ邮箱验证码
mail:
# 配置 SMTP 服务器地址
host: smtp.qq.com
# 发送者邮箱
username: xxx@qq.com
# 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
password:
# 端口号465或587
port: 587
# 默认的邮件编码为UTF-8
default-encoding: UTF-8
# 配置SSL 加密工厂
properties:
mail:
smtp:
socketFactoryClass: javax.net.ssl.SSLSocketFactory
#表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
debug: true