对于最新的稳定版本,请使用 Spring Boot 3.5.5spring-doc.cadn.net.cn

发送电子邮件

Spring Framework 提供了一个抽象,用于使用JavaMailSender接口,Spring Boot 为其提供自动配置以及入门模块。spring-doc.cadn.net.cn

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

如果spring.mail.host和相关库(定义为spring-boot-starter-mail) 可用,默认值JavaMailSender如果不存在,则创建。 可以通过配置项进一步自定义发送方spring.mailNamespace。 看MailProperties了解更多详情。spring-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

也可以配置一个JavaMailSender与现有的Session来自 JNDI:spring-doc.cadn.net.cn

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

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