在Hudson电子邮件通知中发送测试邮件时出错

时间:2011-08-16 07:18:36

标签: email hudson notifications

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

Failed to send out e-mail

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

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

修改

它是否也需要强制执行安全证书,如果有,有办法实现它???

由于

3 个答案:

答案 0 :(得分:4)

请尝试使用以下设置:

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

答案 1 :(得分:0)

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

我在点击保存按钮之前遇到了这个问题。

答案 2 :(得分: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通信 - 但是这种实现要求通信从get get加密。

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

Hudson / Jenkins尝试开始在端口587上协商SSL,这会立即被拒绝,从而导致以下错误:

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

我还尝试添加其他JAVA选项" -Dmail.smtp.starttls.enable = true" (在Unbuntu上的/ etc / default / jenkins中配置)以启用TLS:

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

不幸的是,这并没有为我解决问题。

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

希望有所帮助。