我可以使用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?
电子邮件通知是否有任何特殊配置???
修改
它是否也需要强制执行安全证书,如果有,有办法实现它???
由于
答案 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协商正常,通信成功。
希望有所帮助。