Sending Email

Spring Framework提供了一个使用JavaMailSender界面发送电子邮件的简单抽象 ,Spring Boot为它提供了自动配置以及启动器模块。

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

如果spring.mail.host和相关库(由定义的 spring-boot-starter-mail)可用,JavaMailSender则创建默认值(如果不存在)。可以通过spring.mail命名空间中的配置项进一步自定义发送方 。有关详细信息,请参阅MailProperties

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

1
2
3
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=3000
spring.mail.properties.mail.smtp.writetimeout=5000

也可以JavaMailSender使用SessionJNDI中的现有配置:

1
spring.mail.jndi-name=mail/Session

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