目录

1. 准备邮箱信息

2. 开启Jenkins服务

3. 配置Jenkins自带的邮件功能

3.1 左边栏Manage Jenkins ---> Configure System ---> 邮件通知

3.2 在具体的Jenkins任务里添加“Email Notification”

3.3 运行构建项目,查看控制台信息,查看邮箱是否收到邮件报告

4. 配置Jenkins跟邮件相关的额外插件

4.1 安装插件

4.2 配置:左边栏Manage Jenkins ---> Configure System ---> Extended E-mail Notification

4.3 在具体的Jenkins任务里添加Editable Email Notification

4.4 运行构建项目,查看控制台信息,查看邮箱是否有收到邮件报告

5. 踩过的雷

5.1 系统管理员邮件地址

 5.2 SMTP授权码

【附件:Jenkins邮件内容模板】


1. 准备邮箱信息

此文所用邮箱为QQ邮箱,在配置Jenkins之前,先确保邮箱开通SMTP服务。

开通SMTP服务如下,获取授权码,以备后续配置使用。

jenkins配置ldap Jenkins配置邮件_jenkins

2. 开启Jenkins服务

开启Jenkins服务,然后在网页端通过IP和端口,访问Jenkins页面,登录。如下图。

其中,IP和端口,根据个人安装时所设置的。

jenkins配置ldap Jenkins配置邮件_System_02

jenkins配置ldap Jenkins配置邮件_System_03

jenkins配置ldap Jenkins配置邮件_jenkins_04

3. 配置Jenkins自带的邮件功能

3.1 左边栏Manage Jenkins ---> Configure System ---> 邮件通知

配置如下,然后发测试邮件,看看邮箱是否有收到测试邮件,顺利收到。保存。

jenkins配置ldap Jenkins配置邮件_Jenkins_05

jenkins配置ldap Jenkins配置邮件_jenkins配置ldap_06

 

jenkins配置ldap Jenkins配置邮件_Jenkins_07

3.2 在具体的Jenkins任务里添加“Email Notification”

进入具体的Jenkins任务,点“配置” ---> "构建后操作" ---> 添加“Email Notification”.

添加信息如下,保存配置。

jenkins配置ldap Jenkins配置邮件_Email_08

3.3 运行构建项目,查看控制台信息,查看邮箱是否收到邮件报告

jenkins配置ldap Jenkins配置邮件_Email_09

jenkins配置ldap Jenkins配置邮件_Jenkins_10

4. 配置Jenkins跟邮件相关的额外插件

4.1 安装插件

左边栏Manage Jenkins ---> Manager Plugins。确保下方这两个插件已安装。

jenkins配置ldap Jenkins配置邮件_jenkins_11

4.2 配置:左边栏Manage Jenkins ---> Configure System ---> Extended E-mail Notification

配置参考如下。

jenkins配置ldap Jenkins配置邮件_jenkins_12

jenkins配置ldap Jenkins配置邮件_jenkins_13

jenkins配置ldap Jenkins配置邮件_jenkins配置ldap_14

jenkins配置ldap Jenkins配置邮件_Jenkins_15

 

jenkins配置ldap Jenkins配置邮件_Email_16

jenkins配置ldap Jenkins配置邮件_System_17

4.3 在具体的Jenkins任务里添加Editable Email Notification

然后进入具体的Jenkins任务,点“配置” ---> "构建后操作" ---> 添加“Editable Email Notification”.

 

jenkins配置ldap Jenkins配置邮件_jenkins配置ldap_18

注:报告邮件中可添加附件,此处填报告的空间相对路径,作为附件添加在邮件中。

jenkins配置ldap Jenkins配置邮件_System_19

jenkins配置ldap Jenkins配置邮件_System_20

 

jenkins配置ldap Jenkins配置邮件_jenkins配置ldap_21

 

jenkins配置ldap Jenkins配置邮件_System_22

4.4 运行构建项目,查看控制台信息,查看邮箱是否有收到邮件报告

jenkins配置ldap Jenkins配置邮件_jenkins_23

jenkins配置ldap Jenkins配置邮件_System_24

5. 踩过的雷

5.1 系统管理员邮件地址

系统管理员邮件地址,要跟下方邮件通知中的用户名一致。不然,可能会报错:connection closed by remote host....

 

jenkins配置ldap Jenkins配置邮件_jenkins_25

 5.2 SMTP授权码

(1)SMTP配置中的密码要用授权码,不是邮箱密码。

(2)如果不用授权码,用QQ邮箱密码,可能报错如下:

javax.mail.AuthenticationFailedException: 535 Login Fail.

(3)测试过程中,虽然设置了授权码,并且“Test Configuration”发出的测试邮件,邮箱端能收到,但是真正运行项目的时候,总是收不到报告邮件。

经过多次尝试,最终解决的办法:

在邮箱设置中,重新生成授权码,然后在Jenkins的系统配置中,重新配置SMTP的授权码。

再次运行项目,这次邮箱就能顺利收到报告邮件了。

【附件:Jenkins邮件内容模板】

<!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>