对于最新的稳定版本,请使用 Spring Boot 3.5.5! |
发送电子邮件
Spring Framework 提供了一个抽象,用于使用JavaMailSender
接口,Spring Boot 为其提供自动配置以及入门模块。
有关如何使用的详细说明,请参阅参考文档JavaMailSender . |
如果spring.mail.host
和相关库(定义为spring-boot-starter-mail
) 可用,默认值JavaMailSender
如果不存在,则创建。
可以通过配置项进一步自定义发送方spring.mail
Namespace。
看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
也可以配置一个JavaMailSender
与现有的Session
来自 JNDI:
-
Properties
-
YAML
spring.mail.jndi-name=mail/Session
spring:
mail:
jndi-name: "mail/Session"
当jndi-name
,则优先于所有其他与会话相关的设置。