Jenkins测试配置发送测试邮件报错:证书路径验证失败求助
Jenkins Gmail邮件发送证书路径错误解决方案
错误核心原因:Jenkins依赖的JVM未信任Gmail SMTP服务器的SSL证书,导致无法建立安全连接,报错如下:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
错误截图:
方法一:导入Gmail证书到JVM信任库(推荐生产环境使用)
- 导出Gmail SMTP证书
执行以下命令生成证书文件:openssl s_client -connect smtp.gmail.com:465 < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > gmail.crt - 找到Jenkins使用的JVM路径
可在Jenkins「系统管理」→「系统信息」中查看JAVA_HOME,或在服务器终端执行:echo $JAVA_HOME - 将证书导入JVM信任库
执行命令(默认信任库密码为changeit,按提示输入yes确认信任):keytool -import -alias gmail-smtp -keystore $JAVA_HOME/lib/security/cacerts -file gmail.crt - 重启Jenkins服务
sudo systemctl restart jenkins
方法二:临时禁用SSL证书验证(应急使用,不推荐生产环境)
- 进入Jenkins「系统管理」→「系统配置」
- 找到「邮件通知」的高级选项:
- 勾选「Use SSL」
- 勾选「Disable SSL certificate check」
- 保存配置后重新测试邮件发送
必查配置项
- SMTP服务器填写
smtp.gmail.com,端口选择465(SSL)或587(TLS) - 确保已开启Gmail两步验证,使用应用密码而非普通账号密码
- 检查Jenkins服务器可正常访问
smtp.gmail.com,无防火墙或代理拦截
内容的提问来源于stack exchange,提问作者Ashish Jain
相关产品推荐
相关产品推荐

