Jenkins 中用于 SMTP 的 TLSv1.2

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

我们在Jenkins中使用SMTP协议来发送邮件。在扩展电子邮件通知下,我们配置如下。

我们使用 SMTP 端口为 465,并且我们已选中 SSL 标记。

现在,根据以下错误,需要升级到 TLS 1.2 或更高版本。

发送至以下有效地址时出错:XXXXXXXXX.com XXXXXX.com SendFailedException 消息:554 访问被拒绝:Amazon SES 不再支持 TLS 1.0 和 TLS 1.1 连接。您必须更新客户端才能使用 TLS 版本 1.2 或更高版本。要了解更多信息并更新您的客户端,请参阅 https://go.aws/3AUlVSb。如需进一步帮助,请联系 AWS 支持

您能否告诉我们如何操作以及需要使用什么端口?我们的 SMTP 服务器已在 AWS SES 中配置。

我们尝试取消选中 SSL,但它仍然不起作用并期望收到邮件。

email jenkins smtp tls1.2 amazon-ses
1个回答
0
投票

要解决 Jenkins 中的 SMTP 升级到 TLS 1.2 的问题,特别是在使用 AWS SES(简单电子邮件服务) 时,您需要确保 Jenkins 设置和底层 Java 环境支持 TLS 1.2。

[ Jenkins Server ] --> SMTP (TLS 1.2) --> [ AWS SES ]

Jenkins 本身依赖于底层 Java 版本的网络协议,包括 TLS。确保您运行的 Java 版本默认支持 TLS 1.2。 Java 8 及更高版本应该支持它。

为了让 Jenkins 使用 TLS 1.2,如果您使用的是较旧版本的 Java,则可能需要在 Java 参数中显式指定使用 TLS 1.2。您可以通过添加以下 JVM 选项来完成此操作:

-Dhttps.protocols=TLSv1.2
(如在此处看到)。或者(如这个答案):

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhttps.protocols=TLSv1.2"

对于 AWS SES,使用 TLS 1.2 时,您仍然可以使用端口 465 通过 SSL/TLS 进行 SMTP。或者,您可以将端口 587 用于带有 STARTTLS 的 SMTP。两者都应与 TLS 1.2 兼容。
如果您使用端口 465,请确保选中“SSL”选项。如果您决定使用端口 587,则应配置 Jenkins 以明文方式启动连接,然后使用

STARTTLS
升级到 TLS。
正如此处指出,自 2021 年 5 月发布 v2.83 以来,电子邮件扩展插件支持 SMTP over TLS 和附加的“TLS”配置复选框,通过单击“高级”按钮即可显示。

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