傳送電子郵件
Spring Framework 使用 JavaMailSender
介面為傳送電子郵件提供了抽象,Spring Boot 也為其提供了自動配置和 starter 模組。
有關如何使用 JavaMailSender 的詳細說明,請參閱參考文件。 |
如果 spring.mail.host
和相關庫(由 spring-boot-starter-mail
定義)可用,則在不存在預設 JavaMailSender
時會建立一個預設的。傳送方可以透過 spring.mail
名稱空間下的配置項進一步定製。有關更多詳情,請參閱 MailProperties
。
特別是,某些預設的超時值是無限的,您可能需要更改它們以避免執行緒被無響應的郵件伺服器阻塞,如下例所示
-
Properties
-
YAML
spring.mail.properties[mail.smtp.connectiontimeout]=5000
spring.mail.properties[mail.smtp.timeout]=3000
spring.mail.properties[mail.smtp.writetimeout]=5000
spring:
mail:
properties:
"[mail.smtp.connectiontimeout]": 5000
"[mail.smtp.timeout]": 3000
"[mail.smtp.writetimeout]": 5000
也可以使用來自 JNDI 的現有 Session
配置 JavaMailSender
-
Properties
-
YAML
spring.mail.jndi-name=mail/Session
spring:
mail:
jndi-name: "mail/Session"
當設定了 jndi-name
時,它優先於所有其他與 Session 相關的設定。