我在一个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)
可能出现什么问题?
答案 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是正确的。不需要改变它。
另外请不要忘记检查互联网连接。