对于最新的稳定版本,请使用 Spring Boot 3.4.0! |
发送电子邮件
Spring Framework 通过使用 JavaMailSender
接口为发送电子邮件提供了一个抽象,Spring Boot 为其提供了自动配置以及一个启动模块。
有关如何使用 JavaMailSender 的详细说明,请参阅参考文档。 |
如果相关库(由 定义)可用,则如果不存在,则创建默认 JavaMailSender
。
sender 可以通过命名空间中的配置项进一步自定义。
有关更多详细信息,请参阅 MailProperties
。spring.mail.host
spring-boot-starter-mail
spring.mail
特别是,某些默认超时值是无限的,您可能希望更改该值以避免线程被无响应的邮件服务器阻止,如以下示例所示:
-
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"
设置 a 后,它优先于所有其他与 Session 相关的设置。jndi-name