發送電子郵件
Spring Framework 提供了使用 JavaMailSender
介面發送電子郵件的抽象層,而 Spring Boot 也為其提供了自動組態和 starter 模組。
請參閱參考文件以詳細了解如何使用 JavaMailSender 。 |
如果 spring.mail.host
和相關的程式庫(如 spring-boot-starter-mail
所定義)可用,則在不存在預設 JavaMailSender
的情況下,將會建立一個預設的 JavaMailSender
。發送器可以通過 spring.mail
命名空間中的組態項目進一步自訂。有關更多詳細信息,請參閱MailProperties
。
特別是,某些預設超時值是無限的,您可能需要更改它,以避免線程被無響應的郵件伺服器阻止,如下例所示
-
屬性
-
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
-
屬性
-
YAML
spring.mail.jndi-name=mail/Session
spring:
mail:
jndi-name: "mail/Session"
當設定 jndi-name
時,它優先於所有其他 Session 相關設定。