报错内容
***************************
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

在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
文章描述了一个SpringBoot应用在启动时由于缺少JavaMailSenderbean导致的错误。解决方案是引入spring-boot-starter-mail依赖,并在application.yml中配置QQ邮箱的SMTP服务,包括主机名、用户名、授权码、端口和SSL设置。此外,还提到了开启DEBUG模式以帮助调试。
2084

被折叠的 条评论
为什么被折叠?



