springboot官方github上有一個同樣的issue:https://github.com/spring-projects/spring-boot/issues/2876
上面issue的解答簡單來說就是在出問題之後,打開springboot調試模式觀察debug輸出,查看JavaMailSender這個類的注入日誌。
打開debug的日誌輸出上面的issue提供了以下的做法,如果自己自定義日誌輸出工具的話可能需要額外的配置
public static void main(String[] args) {
SpringApplication.run(Application.class, "--debug");
}
通過觀察日誌,我發現自己的出現問題是沒有配置
spring.mail.jndi-name
(官方解釋是Session JNDI name. When set, takes precedence over other Session settings.)。官方給出的值爲mail/Session
,官方文檔
如果問題還是沒有解決的話,可以先查看一下jar包是否齊全,我就遇到過maven沒有下載對應jar包的情況。。。。。
也可以檢查一下自己自動注入的類是否在springboot的掃描路徑下面,不是的話可以試着使用
@ComponentScan
指定路徑