【发布时间】:2017-10-25 11:30:36
【问题描述】:
我有一个使用 spring-boot 的项目并添加了 我的 build.gradle 中的以下依赖项:
compile group: 'org.springframework.boot', name: 'spring-boot-starter-mail', version: '1.5.7.RELEASE'
我的 application.properties 包含
SMTP 配置
spring.mail.host=mail.xxx
spring.mail.port=587
spring.mail.username=donotreply@xxx
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.from=donotreply@xxx
根据此处的多个答案和我找到的文档,这应该足以使用此设置创建 bean。
我现在想在服务类中使用邮件程序
@Autowired
private JavaMailSender emailSender;
[...]
@Value("${spring.mail.host}")
private String mailHost;
当我尝试使用 emailSender 发送消息时,我收到以下错误:
邮件服务器连接失败;嵌套异常是 com.sun.mail.util.MailConnectException:无法连接到主机, 端口:本地主机,25;超时-1;嵌套异常是: java.net.ConnectException:连接被拒绝:连接。失败的 消息:com.sun.mail.util.MailConnectException:无法连接到 主机,端口:本地主机,25;超时-1;嵌套异常是: java.net.ConnectException:连接被拒绝:连接
显然它正在尝试连接到 localhost 而不是配置的主机。 变量 mailHost 包含正确的值,因此属性读取正确。
编辑: emailSender 的自动装配类是 org.springframework.mail.javamail.JavaMailSenderImpl,这对我来说似乎是正确的。
【问题讨论】:
标签: email spring-boot properties jakarta-mail