Отказ в соединении с хостом: порт smtp.gmail.com: 587 от Spring Boot - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь отправить сообщение электронной почты, используя 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 голосов
/ 10 мая 2019

Вы используете прокси? Если ваш telnet успешен, то он использует некоторую конфигурацию, которой нет в вашем весеннем приложении, возможно, установлена ​​переменная окружения, такая как HTTP_PROXY? Наиболее вероятный сценарий, с которым я сталкиваюсь в этой ситуации, - это проблема. Вам нужно будет установить это как обычно для любого Java-приложения, передав

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

аргументы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...