如需获取最新稳定版本,请使用 Spring Boot 4.0.4spring-doc.cadn.net.cn

发送电子邮件

Spring Framework 通过使用 JavaMailSender 接口提供了发送电子邮件的抽象,而 Spring Boot 也为其提供了自动配置以及一个 starter 模块。spring-doc.cadn.net.cn

有关如何使用 JavaMailSender 的详细说明,请参阅 参考文档

如果 spring.mail.host 且相关库(由 spring-boot-starter-mail 定义)可用,则在不存在默认 JavaMailSender 时会创建一个。 可以通过来自 spring.mail 命名空间的配置项进一步自定义发送器。 有关更多详细信息,请参阅 MailPropertiesspring-doc.cadn.net.cn

特别是,某些默认超时值是无限的,您可能希望更改这些值,以避免线程被无响应的邮件服务器阻塞,如下例所示:spring-doc.cadn.net.cn

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 来配置一个 JavaMailSenderspring-doc.cadn.net.cn

spring.mail.jndi-name=mail/Session
spring:
  mail:
    jndi-name: "mail/Session"

当设置为 jndi-name 时,其优先级高于所有其他与会话相关的设置。spring-doc.cadn.net.cn