2011-08-16 189 views
1

我可以使用gmail作为smtp服务器在Hudson中成功发送电子邮件通知。 但是,当我尝试配置我们自己的SMTP服务器,它给试图发送测试邮件时出现以下错误:在Hudson发送测试邮件时发生错误电子邮件通知

Failed to send out e-mail 

javax.mail.MessagingException: Exception reading response; 
    nested exception is: 
     javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 

是否有与电子邮件通知的任何特殊配置???

编辑:

也未要求强制执行的安全证书,如果是的话,有没有办法实现呢???

谢谢

回答

0

我也有这个问题。我的解决方案是在使用测试邮件之前完成所有必要的配置(检查ssl框和东西)并单击“保存”按钮。

我刚才有这个问题,然后点击保存按钮。

+0

我已经设置了那些...但没有工作... –

4

请尝试使用以下设置:

SMTP SERVER : smtp.gmail.com 
use SMTP Authentication : true 
use SSL : true 
SMTP port : 465 
0

更改SMTP端口从587到465也解决了这个问题对我来说,虽然我使用的替代SMTP服务:

SMTP server:    smtp.mandrill.com 
Use SMTP Authentication: true 
Use SSL:     true 
SMTP Port:     465 

我可以告诉(免责声明:我绝不是Hudson/Jenkins的专家) Hudson/Jenkins电子邮件插件支持SSL加密的SMTP通信 - 但是这种实现需要com通信从开始就被加密。

在端口587上连接时,另一端的服务器可能需要STARTTLS命令(请参阅SSL vs TLS vs STARTTLS文章)。使用纯文本发送此命令以“升级”连接以使用SSL/TLS。

哈德森/詹金斯,而不是试图启动在端口587上协商SSL,这是及时拒绝,导致以下错误:

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 

我也试图增加额外的JAVA选项“-Dmail.smtp.starttls。启用=真”(在Unbuntu的/ etc /默认/詹金斯配置),以启用TLS:

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true" 

不幸的是这并没有解决这个问题对我来说。

将端口更改为465后,SSL协商正确发生,通信成功。

希望有所帮助。