jenkins构建项目后发送邮件

  1. 前置条件:我使用的系统是ubuntu20.04,linux系统,使用的war包本地安装jenkins

  2. 安装插件Email Extension和Email Extension Template,并重启jenkins使插件生效
    2021-03-08_22-22.png
    2021-03-06_23-37.png

  3. 邮箱开启客户端授权码,我用的网易邮箱,相关的开启操作链接是这个https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac2cda80145a1742516,不同的邮箱可以百度一下,比如搜索QQ邮箱 授权码
    2021-03-08_23-42.png

  4. 在系统设置中进行jenkins邮件配置

    • 找到系统设置
      2021-03-09_22-43.png

    • 管理员邮件
      2021-03-08_23-43.png

    • Extended E-mail Notification配置,这里注意不要使用ssl,不然邮件发送不出去(实测踩坑,现象是日志显示发送成功,实际邮箱没有受到邮件),端口号25或者465,密码是上一步获取的授权码,html邮件模板在下面
      2021-03-08_23-49.png
      2021-03-08_23-45_1.png

      <!DOCTYPE html>    
      <html>    
      <head>    
      <meta charset="UTF-8">    
      <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>    
      </head>    
          
      <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
          offset="0">    
          <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
              <tr>    
                  本邮件由系统自动发出,无需回复!<br/>            
                  各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> 
                  <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
              </tr>    
              <tr>    
                  <td><br />    
                  <b><font color="#0B610B">构建信息</font></b>    
                  <hr size="2" width="100%" align="center" /></td>    
              </tr>    
              <tr>    
                  <td>    
                      <ul>    
                          <li>项目名称 : ${PROJECT_NAME}</li>    
                          <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                          <li>触发原因: ${CAUSE}</li>    
                          <li>构建状态: ${BUILD_STATUS}</li>    
                          <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                          <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                          <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                          <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                      </ul>    
      
      <h4><font color="#0B610B">失败用例</font></h4>
      <hr size="2" width="100%" />
      $FAILED_TESTS<br/>
      
      <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
      <hr size="2" width="100%" />
      <ul>
      ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
      </ul>
      详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
      
                  </td>    
              </tr>    
          </table>    
      </body>    
      </html>
      
    • 配置jenkins自带的邮件通知,这里的密码也是授权码,不要勾选SSL协议,否则邮件发送不出去,勾选通过发送测试邮件测试配置,然后通过点击test configuration可以测试下邮件是否能发送成功
      2021-03-08_23-50.png

  5. 创建jenkins项目并配置发送邮件

    • 创建jenkins自由风格的项目
      2021-03-09_23-00.png

    • 构建后操作选择Editable Email Notification,Project From写管理员邮箱,Project Recipient List就是前面配置的邮件模板中的邮件接收人,content-type写html主要是为了发送邮件的格式,为了测试方便点击后面的高级设置,删除原有的邮件触发条件,设置邮件的触发条件是always,而不是项目构建失败发送
      2021-03-09_23-04.png
      2021-03-09_23-08.png

    • 查看构建日志可以看到发送邮件成功
      2021-03-09_23-16.png

  6. 邮件结果展示
    2021-03-09_23-10.png

posted @ 2021-03-09 23:21  iread9527  阅读(796)  评论(0编辑  收藏  举报