CentOS 上 Jenkins 邮件通知设置指南
一 准备与插件安装
- 在 Jenkins 管理界面安装邮件相关插件:进入 Manage Jenkins → Manage Plugins → Available,搜索并安装 Email Extension Plugin(用于高级邮件模板与触发器),如未安装 Mailer(Jenkins 内置邮件功能)也一并安装。安装完成后重启 Jenkins 使其生效。
二 系统级邮件配置
- 配置发件人地址:进入 Manage Jenkins → Configure System → Jenkins Location,设置 系统管理员邮件地址(例如:jenkins@example.com),该地址应与后续 SMTP 认证用户名保持一致。
- 配置 SMTP(推荐 Extended E-mail Notification):
- 在 Extended E-mail Notification 填写 SMTP Server(如 smtp.163.com、smtp.gmail.com)、SMTP Port(常用 587/465)、勾选 Use SMTP Authentication,在 Username/Password 填写邮箱账号与授权码/密码;根据服务商选择 Use SSL 或 Use TLS。
- 可设置 Default Subject Prefix(如 [Jenkins])、Default Recipients(全局默认收件人)、Default Content Type(text/plain 或 text/html)。
- 点击 Test Configuration 发送测试邮件,确认能收到后再保存。
- 备选方案(内置 Mailer):在 系统设置 → 邮件通知 中填写 SMTP 服务器/端口、开启认证、设置 系统管理员邮件地址,使用 Test e-mail recipient 测试并保存。
三 常见邮箱的 SMTP 示例
| 邮箱类型 |
SMTP 服务器 |
端口与加密 |
认证凭据要点 |
| 163 邮箱 |
smtp.163.com |
587/TCP,STARTTLS 或 465/SSL |
开启 IMAP/SMTP,使用“授权码”代替登录密码 |
| Gmail |
smtp.gmail.com |
587/TCP,STARTTLS |
开启两步验证,使用“应用专用密码” |
| 企业/自建 SMTP |
例如 smtp.yourmail.com |
25/587/465(按需) |
使用发信账号与密码/密钥,必要时配置发信域与中继 |
| 说明:以上示例均需先在邮箱后台开启 SMTP/IMAP 服务并获取授权码(Gmail 为“应用专用密码”,163 为“授权码”),Jenkins 中密码字段填写该授权码。 |
|
|
|
四 在 Job 中配置邮件触发
- 进入具体任务 → Configure → Post-build Actions → Editable Email Notification:
- 在 Recipient List 填写收件人(多个以英文逗号分隔),或使用 Recipient Providers(如 Developers、Requestor、Culprits 等)。
- 在 Triggers 选择触发条件:常用有 Always(每次构建)、Failure - Any(任意失败)、Success(成功)、Unstable(不稳定)等;可按需组合,避免重复(例如已选 Always 时,Success 可不再单独勾选以免重复)。
- 可设置 Subject/Content(或使用默认模板),必要时在 Advanced 中配置更细的收件人策略与内容模板。
五 故障排查与安全建议
- 无法发信的快速检查:
- 先在系统级用 Test Configuration 验证;确保 Jenkins Location 管理员邮箱与 SMTP 认证用户名一致。
- 核对 SMTP 端口/加密是否与服务商匹配(如 587+STARTTLS、465+SSL),防火墙/云安全组是否放行出站 25/587/465。
- 若使用 163/Gmail 等,确认已开启 SMTP 并使用 授权码/应用专用密码,而非网页登录密码。
- 查看 Jenkins 系统日志/管理界面提示与邮箱的 垃圾邮件文件夹。
- 安全与可维护性建议:
- 在 Manage Jenkins → Manage Credentials 中统一管理邮箱凭据,避免在多处明文存放密码。
- 使用 Extended E-mail Notification 的模板与触发器精细化控制收件人与内容,减少噪音。
- 生产环境优先使用 587/TLS 或 465/SSL,不建议使用明文 25 端口。