|
此版本仍在开发中,尚未视为稳定版。如需最新稳定版本,请使用 Spring Boot 4.0.4! |
发送电子邮件
Spring Framework 通过使用 JavaMailSender 接口提供了发送电子邮件的抽象,而 Spring Boot 也为其提供了自动配置以及一个启动模块。
请参阅 参考文档,以详细了解如何使用 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 相关的设置。