【发布时间】:2019-05-20 00:07:14
【问题描述】:
我创建了发送电子邮件的简单 Java 应用程序。当我从我的 IDE 运行它时它工作正常,但是在 Docker 容器中运行它时它无法访问远程 SMTP 服务器。我正在使用
docker run -d -p 25:25 [image]:[tag]
在启动容器时暴露端口 25。有谁知道为什么邮件客户端无法连接?
【问题讨论】:
标签: spring docker jakarta-mail
我创建了发送电子邮件的简单 Java 应用程序。当我从我的 IDE 运行它时它工作正常,但是在 Docker 容器中运行它时它无法访问远程 SMTP 服务器。我正在使用
docker run -d -p 25:25 [image]:[tag]
在启动容器时暴露端口 25。有谁知道为什么邮件客户端无法连接?
【问题讨论】:
标签: spring docker jakarta-mail
我认为您混淆了端口映射的要点。这是为了允许主机将给定网络接口上的指定端口绑定到容器中的端口。在您的情况下,您正在尝试连接到我假设在另一台远程主机上的端口 25。
如果应用程序在 IDE 中运行时可以正常工作,我会假设解决 SMTP 服务器的问题或 SMTP 服务器正在侦听的地址存在问题。
您是在本地运行 SMTP 服务器还是连接到可通过公共 DNS 解析的服务器?如果使用docker exec 进入正在运行的容器,可以telnet 到SMTP 服务器吗?
【讨论】:
smtp.gmail.com。您是否有有关连接问题的更多详细信息,例如堆栈跟踪?