詹金斯找不到smtp.gmail.com

时间:2012-10-10 09:14:35

标签: email gmail jenkins

我在一个tomcat容器中运行RHEL6上的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)

可能出现什么问题?

2 个答案:

答案 0 :(得分:2)

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

然而;

  

如果您的代理服务器支持SOCKS V4或V5协议   (http://www.socks.nec.com/aboutsocks.html,RFC1928)并允许   匿名连接,您正在使用JDK 1.5或更高版本和JavaMail   1.4.5或更高版本,您可以通过将“mail.smtp.socks.host”属性设置为每个会话,按协议配置SOCKS代理   在com.sun.mail.smtp包的javadocs中描述。类似   属性存在于“imap”和“pop3”协议中。

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

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

也;如果您想要聪明,可以使用ssh使用以下命令设置(临时)socks代理;

ssh -D 9090 <remoteserver>

这假设remoteserver具有不受限制的访问权限,您可以将可以处理SOCKS的客户端连接到localhost:9090。

答案 1 :(得分:0)

这是因为Gmail安全性... 只需通过应用访问您的Gmail帐户即可转到您的帐户下: https://www.google.com/settings/security/lesssecureapps 它会工作.. smtp.gmail.com是正确的。不需要改变它。

另外请不要忘记检查互联网连接。