在 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 参数与权限。