11.4. 发送电子邮件

Spring 框架提供了使用JavaMailSender接口发送电子邮件的抽象,Spring Boot 为其提供了自动配置以及启动模块。

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

如果spring.mail.host和相关库(由spring-boot-starter-mail 定义)可用,则创建默认JavaMailSender(如果不存在)。发送者可以通过spring.mail命名空间中的配置项进一步定制。请参阅MailProperties了解更多详情。

特别是,某些默认超时值是无限的,您可能需要更改该值以避免线程被无响应的邮件服务器阻塞,如以下示例所示:

spring.mail.properties[mail.smtp.connectiontimeout]=5000
spring.mail.properties[mail.smtp.timeout]=3000
spring.mail.properties[mail.smtp.writetimeout]=5000

还可以使用 JNDI 中的现有Session配置进行JavaMailSender配置:

spring.mail.jndi-name=mail/Session

设置jndi-name 后,它优先于所有其他与会话相关的设置。

最后更新于