典型错误为:

javax.mail.MessagingException: Could not connect to SMTP host:

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


TLS和SSL是两种不同的协议,而Jenkins网页设置界面只支持SSL协议
好在Jenkins的邮件发送是基于JavaMail的。所以我们可以通过修改JavaMail
的方式来让Jenkins支持基于TLS的SMTP认证


Ubuntu通过war安装的Jenkins。默认配置文件为 /etc/default/jenkins
只要修改两个地方,就能实现TLS认证

  • 修改配置文件
    JAVA_ARGS参数值中增加
    -Dmail.smtp.starttls.enable=true
    -Dmail.smtp.ssl.checkserveridentity=false
    -Dmail.smtp.ssl.trust=mail.vzjc.com

    注意此处的mail.smtp.ssl.trust为Jenkins中SMTP配置的SMTP服务器的地址
    其中,第一个参数表示启动tls,第三个参数表示把mail.vzjc.com加入可信任域,这就是邮箱服务器的地址。第二个参数应该默认就是false,可以不加

  • 修改网页
    SMTP设置中不选择ssl

  • 重启Jenkins
    $ sudo service jenkins restart


参考:

http://stackoverflow.com/questions/20188456/how-to-change-the-security-type-from-ssl-to-tls-in-jenkins
http://blog.csdn.net/duan19056/article/details/21176115
http://www.4byte.cn/question/354081/how-to-change-the-security-type-from-ssl-to-tls-in-jenkins.html
http://blog.sina.com.cn/s/blog_872758480100zsgx.html

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐