如何在 Jenkins 中为 SMTP 启用 TLSv1.2

问题描述 投票:0回答:2

在为 jenkins 启用电子邮件时,我遇到了一个问题,导致我被阻止了近 4 天。

问题:使用 SMTP 服务器从 jenkins 发送的电子邮件无法正常工作,错误日志显示验证证书的问题。

在多次尝试证书轮换、更新私钥等之后,这个问题超出了我的预期。

以下是解决方案,如果它可以帮助将来的人。

email ssl jenkins tls1.2
2个回答
0
投票

Jenkins 配置已更改,因此 JAVA_ARGS 如下所示:

JAVA_ARGS =“-Djava.awt.headless = true -Dmail.smtp.starttls.enable = true -Dmail.smtp.ssl.protocols = TLSv1.2”

为了解决该问题,执行了以下步骤:

  • 编辑 Jenkins 配置文件(在 Ubuntu 中,通常位于 /etc/default/Jenkins)并添加上面突出显示的参数。 (确保添加两个突出显示的参数!)

  • 输入“service Jenkins restart”重新启动 Jenkins 服务

  • 现在在您最喜欢的浏览器上打开 Jenkins Dashboard,然后导航至 – 管理 Jenkins -> 配置系统 -> 电子邮件通知。

  • 单击“高级”按钮。

  • 确保未选择“使用 SSL”选项 - 需要保持未选中状态。

  • 点击“保存”按钮。电子邮件现在可以通过 TLSv1.2 运行。


0
投票

对于 Centos,jenkins 文件路径是 /etc/sysconfig/jenkins

对于 Ubuntu,jenkins 文件路径是 /etc/default/jenkins

添加以下行以使用 TLS 版本 1.2

就我而言,旧的线路是, JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"

我已替换为以下行,

JENKINS_JAVA_OPTIONS =“-Djava.awt.headless = true -Dmail.smtp.starttls.enable = true -Dmail.smtp.ssl.protocols = TLSv1.2”

现在保存并关闭文件。

通过以下命令重新启动 Jenkins 服务, 服务Jenkins重启

现在在您最喜欢的浏览器上打开 Jenkins Dashboard,然后导航到 – 管理 Jenkins -> 配置系统 -> 邮件通知。

单击“高级”按钮。

确保未选择“使用 SSL”选项 - 需要保持未选中状态。

点击“保存”按钮。电子邮件现在可以通过 TLSv1.2 运行。

要检查 Jenkins 是否使用 TLSv1.2,请使用以下命令。

openssl s_client -starttls smtp -crlf -connect :

注意:请替换 SMTP 主机名和端口。要获取这些详细信息,请转到管理 jenkins > 配置系统 > SMTP 服务器详细信息

命令输出会有

SSL 会话: 协议:TLSv1.2

© www.soinside.com 2019 - 2024. All rights reserved.