从Spring Boot拒绝连接到主机:smtp.gmail.com端口:587

时间:2019-05-10 17:37:37

标签: spring-boot email

我正在尝试使用spring-boot-starter-mail发送电子邮件,结果是

Failed message 1: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.gmail.com, 587; timeout 5000;

我的application.properties是

spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=<email>
spring.mail.password=<password>

# Other properties
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=5000
spring.mail.properties.mail.smtp.writetimeout=5000


# TLS , port 587
spring.mail.properties.mail.smtp.ssl.trust=smtp.gmail.com
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.starttls.enable=true

我尝试了无数种组合,所有道路都导致了同样的异常!我可以telnet到smtp.gmail.com 587并收到响应

220 smtp.gmail.com ESMTP e82sm2105370oia.36 - gsmtp

我跟踪的许多链接都暗示可能是防火墙造成的。有人看到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

您在使用代理吗?如果您的telnet成功,那么它使用的是Spring应用程序缺少的某些配置,也许设置了环境变量(例如HTTP_PROXY)?在这种情况下,我遇到的最可能的情况就是这个问题。您可能需要通过

将它们设置为任何Java应用程序的常规设置

-Dhttp.proxyHost = 127.0.0.1 -Dhttp.proxyPort = 3128

参数。