Jenkins邮件通知在Debian上如何设置
导读:在 Debian 上配置 Jenkins 邮件通知 一 准备与前提 确保 Jenkins 已安装并在 Debian 上正常运行,管理地址通常为 http://your-jenkins-url/manage。 安装邮件相关插件:在 Mana...
在 Debian 上配置 Jenkins 邮件通知
一 准备与前提
- 确保 Jenkins 已安装并在 Debian 上正常运行,管理地址通常为 http://your-jenkins-url/manage。
- 安装邮件相关插件:在 Manage Jenkins → Manage Plugins 中安装 Email Extension Plugin(建议同时保留 Mailer Plugin)。
- 准备邮箱的 SMTP 信息:服务器地址、端口、是否需要认证、以及授权方式(常见为“授权码”而非登录密码)。
- 如为 QQ 邮箱/企业邮箱,先在邮箱后台开启 SMTP 服务并获取授权码;公司邮箱请联系管理员获取服务器与权限。
二 全局邮件配置
- 设置发件人地址:进入 Manage Jenkins → Configure System,填写 System Admin e-mail address(例如:jenkins@example.com)。该项是很多 SMTP 服务器的必填项,缺失可能导致连接超时。
- 配置 Extended E-mail Notification(Email Extension Plugin):
- SMTP Server:如 smtp.gmail.com、smtp.qq.com 等。
- SMTP Port:常用为 587(STARTTLS/TLS) 或 465(SSL/SMTPS)。
- 勾选 Use SMTP Authentication,填写邮箱账号与“授权码/密码”。
- 选择 Use TLS 或 Use SSL(与端口保持一致:587 选 TLS,465 选 SSL)。
- 填写 Default Subject Prefix(如:[Jenkins])、Default Content Type(text/plain 或 text/html)、Default Charset(如:UTF-8)。
- 在 Triggers 中按需勾选发送时机(如:Always、Failure、Unstable 等)。
- 需要时可在 Advanced 中设置 Reply-To 等字段。
- 可选:配置基础的 E-mail Notification(Mailer Plugin)以作备用或简单场景使用,填写方式与上面类似。
三 在任务中启用邮件通知
- Freestyle 任务:进入任务配置 → Post-build Actions → 添加 Editable Email Notification。
- 在 Recipient List 填写收件人(多个以逗号分隔)。
- 在 Triggers 选择触发条件;若用于首次连通性测试,可临时勾选 Always 并使用 Recipient List 收件。
- 可自定义 Subject/Body,或使用默认模板。
- Pipeline 任务:在 post 阶段使用 emailext 发送,例如:
pipeline { agent any stages { ... } post { always { emailext( subject: "Build ${ currentBuild.currentResult} : ${ env.JOB_NAME} #${ env.BUILD_NUMBER} ", body: "Check console output at ${ env.BUILD_URL} ", recipientProviders: [developers()] ) } } } - 测试建议:
- 使用 Extended E-mail Notification 时,页面无“Test”按钮,需通过实际构建触发;为便于首次验证,可临时添加 Always 触发器并指向 Recipient List。
- 使用 E-mail Notification 时,可直接点击 Test configuration by sending test e-mail 进行验证。
四 常见故障排查
- 报错 Connect time out / Connect refused:
- 核对 System Admin e-mail address 是否填写。
- 确认已开启邮箱 SMTP 并使用正确的“授权码”。
- 检查 SMTP 服务器/端口/SSL/TLS 是否匹配(如 587+TLS、465+SSL)。
- 在服务器上测试连通性:例如
telnet smtp.xx.com 465或openssl s_client -connect smtp.xx.com:465。 - 排查公司网络/防火墙是否限制外发 SMTP。
- 构建成功但未收到邮件:检查 Triggers 是否配置正确;Freestyle 测试时确保使用 Recipient List 而非默认的 Developers(可能因无提交记录而无可通知开发者)。
- 出现提示 “Extended Email Publisher is currently disabled in project settings”:在项目配置中取消禁用 Extended Email Publisher 的勾选。
五 常用邮箱快速参考
| 邮箱类型 | SMTP 服务器 | 端口/加密 | 认证与密码 |
|---|---|---|---|
| QQ 邮箱 | smtp.qq.com | 465/SSL 或 587/TLS | 开启 SMTP,使用 16 位授权码 |
| 163 企业邮箱 | smtphz.qiye.163.com | 465/SSL | 使用 授权码/客户端专用密码 |
| Gmail | smtp.gmail.com | 587/TLS | 开启两步验证,使用 应用专用密码 |
说明:不同邮箱的服务器与端口可能调整,请以邮箱官方说明为准;若使用公司邮箱,请向管理员确认 SMTP 参数与权限。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins邮件通知在Debian上如何设置
本文地址: https://pptw.com/jishu/789630.html
