Jenkins流水线发送邮件失败:SMTP主机返回异常问候
Jenkins流水线发送Gmail邮件失败的解决方案
错误核心分析
从日志可定位两个关键问题:
- SMTP认证时密码为空(
password=<null>) - 使用465端口但未启用SSL(
isSSL false),导致连接Gmail SMTP服务器时收到EOF错误
具体修复步骤
1. 补全SMTP密码配置
Gmail已禁止普通密码用于第三方客户端(不推荐开启“不太安全的应用访问”),正确操作:
- 确保Google账号开启两步验证
- 在Google账号“安全”设置中生成应用专用密码,复制该密码
- 在Jenkins全局配置的SMTP密码栏粘贴此应用专用密码,而非Google账号原密码
2. 修正SMTP端口与加密设置
Gmail SMTP端口对应规则:
- 端口465:必须勾选Jenkins SMTP配置里的“使用SSL”选项
- 端口587:必须勾选“使用TLS”选项
你当前用465端口但未开SSL,这是连接失败的直接原因,需对应开启加密选项
3. 验证基础SMTP配置
确保Jenkins全局配置参数正确:
- SMTP服务器:
smtp.gmail.com - SMTP用户名:完整Gmail邮箱地址(如
p-bri@gmail.com,而非仅p-bri) - 端口与加密选项匹配(465+SSL / 587+TLS)
4. 流水线代码优化(可选)
你的代码逻辑无问题,但recipientProviders和to字段会同时指定收件人,若不需要前者可移除,避免冗余
内容的提问来源于stack exchange,提问作者Fábio Pires
相关产品推荐
相关产品推荐

