此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.4spring-doc.cn

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.4spring-doc.cn

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

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

如果相关库(定义由 )可用,则如果不存在,则创建默认值。 sender 可以通过命名空间中的配置项进一步自定义。 有关更多详细信息,请参阅。spring.mail.hostspring-boot-starter-mailJavaMailSenderspring.mailMailPropertiesspring-doc.cn

特别是,某些默认超时值是无限的,您可能希望更改该值以避免线程被无响应的邮件服务器阻止,如以下示例所示:spring-doc.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 中的现有配置 a:JavaMailSenderSessionspring-doc.cn

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

设置 a 后,它优先于所有其他与 Session 相关的设置。jndi-namespring-doc.cn