spring-boot - 连接拒绝托管:smtp.gmail.com 端口:来自 Spring Boot 的 587
问题描述
我正在尝试使用 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
我尝试了无数种组合,所有的道路都会导致同样的例外!我可以远程登录到 smtp.gmail.com 587 并收到回复
220 smtp.gmail.com ESMTP e82sm2105370oia.36 - gsmtp
我关注的许多链接表明防火墙可能是罪魁祸首。有没有人看到这个问题?
解决方案
您是否使用了代理?如果您的 telnet 成功,那么它正在使用您的 spring 应用程序缺少的一些配置,也许设置了诸如 HTTP_PROXY 之类的环境变量?我在这种情况下遇到的最有可能的情况就是这个问题。您是否需要通过传递
-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128
论据。
推荐阅读
- sql - 通过从以前的记录中减去金额来计算余额
- windows - 为什么“插入包含批处理文件的软盘并在准备好时按任意键”。消息出现?
- css - 在 Bootstrap 4 中的菜单项之间添加图标
- jwt - 功能令牌无效或缺少 Twilio
- android - findViewById 错误 - 没有足够的信息来推断类型变量 T。我复制了 java 代码并在线转换
- mongoose - 如何使用猫鼬按特定值从数组中删除对象
- kubernetes - 如何从 kubernetes 服务(EKS)中的 HTTP 请求中获取客户端 IP 地址
- python - 无论如何要加载 SDF 文件并获取诸如 mols、inchi 和试剂之类的详细信息?
- reactjs - React 中动态选项卡的最佳组件结构是什么?
- docker - 为什么在不指向主机上的实际文件夹时要声明两次 docker-compose 卷?