在Jenkins 2.504.2上配置邮箱通知
邮件通知是持续集成流程中不可或缺的部分,本文将手把手教你如何在Jenkins 2.504.2中配置可靠的邮箱服务。
一、为什么需要邮件通知?
在持续集成环境中,当构建失败、成功或系统出现问题时,邮件通知能第一时间通知相关人员。根据2023年DevOps报告显示,配置了自动通知的团队问题响应速度提升67%。
二、配置前准备
获取邮箱服务商SMTP信息(以QQ邮箱为例):
- SMTP服务器:
smtp.qq.com
- 端口:
465
(SSL) 或587
(TLS) - 需要开启邮箱的SMTP服务并获取授权码
- SMTP服务器:
安装必要插件:
Email Extension Plugin
(推荐)Mailer Plugin
(默认已安装)
三、详细配置步骤
1. 全局系统配置
访问
Jenkins -> 系统管理 -> 系统配置
找到 Jenkins Location 区域:
找到 邮件通知 区域:
SMTP服务器: smtp.qq.com ☑ 使用SMTP认证 用户名: your_email@qq.com 密码: 【QQ邮箱授权码】 ☑ 使用SSL协议 SMTP端口: 465 字符集: UTF-8
2. 测试邮件发送
在配置页面底部填写测试接收邮箱,点击 Test configuration 按钮:
✅ 成功提示:Email was successfully sent
3. (可选) 配置Email Extension
安装
Email Extension Plugin
插件
在 系统配置 中找到 Extended E-mail Notification:
SMTP服务器: smtp.qq.com 默认用户邮件后缀: @qq.com 默认邮件内容类型: HTML(text/html) 默认触发条件: Failure/Unstable/Success
四、项目级邮件配置
在具体任务中配置邮件规则:
进入任务 → 配置 → 构建后操作
选择 Editable Email Notification
关键配置示例:
项目收件人列表: dev-team@yourcompany.com 邮件标题: 【构建通知】$PROJECT_NAME - Build #$BUILD_NUMBER - $BUILD_STATUS! 邮件内容模板(部分): <li>构建结果:<b>$BUILD_STATUS</b></li> <li>触发原因:${CAUSE}</li> <li>详情请访问:<a href="$BUILD_URL">$BUILD_URL</a></li>
五、常见问题解决
❌ 邮件发送失败排查
认证失败:
javax.mail.AuthenticationFailedException: 535 Error
✅ 检查:授权码是否正确(非登录密码)、是否开启SMTP服务
端口连接超时:
Could not connect to SMTP host: smtp.qq.com, port: 465
✅ 检查:服务器防火墙设置、telnet测试端口连通性
telnet smtp.qq.com 465
中文乱码问题:
在高级设置中添加:-Dmail.mime.charset=UTF-8
六、最佳实践建议
分级通知策略:
- 失败时通知:全体开发组
- 恢复成功时:仅通知上次失败的责任人
使用邮件模板:
<!-- 存放在 $JENKINS_HOME/email-templates/ --> <p>项目: ${PROJECT_NAME}</p> <p>构建状态: <span style="color:${BUILD_STATUS_COLOR}">${BUILD_STATUS}</span></p>
限流设置:
在Extended Email设置中: 最大邮件发送频率: 1/小时 排除重复收件人: ☑
配置验证环境:Jenkins 2.504.2 + Java 8