4.16 发送邮件

优质
小牛编辑
134浏览
2023-12-01

Spring Framework提供了一个使用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中的现有会话配置JavaMailSender:

spring.mail.jndi-name=mail/Session

设置jndi-name时,它优先于所有其他与Session相关的设置。