我在 RHEL6 上的 tomcat 容器中运行 Jenkins。我的计算机在我公司代理的后面,我在插件配置选项卡中定义了它。我可以下载插件以便工作(至少对于端口 8080,就是这样)。

我现在正在尝试配置 SMTP 服务器。我正在尝试使用我的 localhost SMTP 服务器,但无法让它工作,所以我决定首先使用应该可以工作的东西(gmail)进行调试。我已将 SMTP 服务器设置为“smtp.gmail.com”和端口“465”。我也尝试过端口 25、587。我得到回应:

javax.mail.MessagingException: Unknown SMTP host: smtp.gmail.com;
  nested exception is:
java.net.UnknownHostException: smtp.gmail.com
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1932)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)

可能有什么问题?

最佳答案

Java Mail 不支持使用 HTTP 代理; http://www.oracle.com/technetwork/java/faq-135477.html#proxy

然而;



作为替代方案,您可以在本地计算机上设置 MTA,例如 postfix 或 sendmail,它们将接受本地主机上的连接,并且可能比 Java 更可配置以穿透代理配置。

注意:如果您的公司在非 http 端口上阻止连接(例如,除了 80、8080、443 之外的任何端口),那么您可能需要寻找其他解决方案,或许可以从本地系统管理员那里获得一些支持。

还;如果你想聪明一点,你可以使用 ssh 和以下命令设置一个(临时)socks 代理;

ssh -D 9090 <remoteserver>

这假设远程服务器具有不受限制的访问权限,并且您可以将可以处理 SOCKS 的连接客户端指向本地主机:9090。

关于email - Jenkins 找不到 smtp.gmail.com,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12815857/

10-14 17:58