在Jenkins上配置邮箱通知

发布于:2025-06-11 ⋅ 阅读:(22) ⋅ 点赞:(0)

在Jenkins 2.504.2上配置邮箱通知

在这里插入图片描述

邮件通知是持续集成流程中不可或缺的部分,本文将手把手教你如何在Jenkins 2.504.2中配置可靠的邮箱服务。

一、为什么需要邮件通知?

在持续集成环境中,当构建失败、成功或系统出现问题时,邮件通知能第一时间通知相关人员。根据2023年DevOps报告显示,配置了自动通知的团队问题响应速度提升67%。


二、配置前准备

  1. 获取邮箱服务商SMTP信息(以QQ邮箱为例):

    • SMTP服务器: smtp.qq.com
    • 端口: 465 (SSL) 或 587 (TLS)
    • 需要开启邮箱的SMTP服务并获取授权码
  2. 安装必要插件

    • Email Extension Plugin(推荐)
    • Mailer Plugin(默认已安装)
      在这里插入图片描述

三、详细配置步骤

1. 全局系统配置
  1. 访问 Jenkins -> 系统管理 -> 系统配置

  2. 找到 Jenkins Location 区域:
    在这里插入图片描述

  3. 找到 邮件通知 区域:
    在这里插入图片描述

    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
  1. 安装 Email Extension Plugin插件
    在这里插入图片描述

  2. 系统配置 中找到 Extended E-mail Notification
    在这里插入图片描述

    SMTP服务器: smtp.qq.com
    默认用户邮件后缀: @qq.com
    默认邮件内容类型: HTML(text/html)
    默认触发条件: Failure/Unstable/Success
    

    在这里插入图片描述


四、项目级邮件配置

在具体任务中配置邮件规则:

  1. 进入任务 → 配置 → 构建后操作
    在这里插入图片描述

  2. 选择 Editable Email Notification

  3. 关键配置示例:

    项目收件人列表: 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>
    

五、常见问题解决

❌ 邮件发送失败排查
  1. 认证失败

    javax.mail.AuthenticationFailedException: 535 Error
    

    ✅ 检查:授权码是否正确(非登录密码)、是否开启SMTP服务

  2. 端口连接超时

    Could not connect to SMTP host: smtp.qq.com, port: 465
    

    ✅ 检查:服务器防火墙设置、telnet测试端口连通性

    telnet smtp.qq.com 465
    
  3. 中文乱码问题

    在高级设置中添加:-Dmail.mime.charset=UTF-8
    

六、最佳实践建议

  1. 分级通知策略

    • 失败时通知:全体开发组
    • 恢复成功时:仅通知上次失败的责任人
  2. 使用邮件模板

    <!-- 存放在 $JENKINS_HOME/email-templates/ -->
    <p>项目: ${PROJECT_NAME}</p>
    <p>构建状态: <span style="color:${BUILD_STATUS_COLOR}">${BUILD_STATUS}</span></p>
    
  3. 限流设置

    在Extended Email设置中:
      最大邮件发送频率: 1/小时
      排除重复收件人: ☑
    

配置验证环境:Jenkins 2.504.2 + Java 8