目录
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服务如下,获取授权码,以备后续配置使用。
2. 开启Jenkins服务
开启Jenkins服务,然后在网页端通过IP和端口,访问Jenkins页面,登录。如下图。
其中,IP和端口,根据个人安装时所设置的。
3. 配置Jenkins自带的邮件功能
3.1 左边栏Manage Jenkins ---> Configure System ---> 邮件通知
配置如下,然后发测试邮件,看看邮箱是否有收到测试邮件,顺利收到。保存。
3.2 在具体的Jenkins任务里添加“Email Notification”
进入具体的Jenkins任务,点“配置” ---> "构建后操作" ---> 添加“Email Notification”.
添加信息如下,保存配置。
3.3 运行构建项目,查看控制台信息,查看邮箱是否收到邮件报告
4. 配置Jenkins跟邮件相关的额外插件
4.1 安装插件
左边栏Manage Jenkins ---> Manager Plugins。确保下方这两个插件已安装。
4.2 配置:左边栏Manage Jenkins ---> Configure System ---> Extended E-mail Notification
配置参考如下。
4.3 在具体的Jenkins任务里添加Editable Email Notification
然后进入具体的Jenkins任务,点“配置” ---> "构建后操作" ---> 添加“Editable Email Notification”.
注:报告邮件中可添加附件,此处填报告的空间相对路径,作为附件添加在邮件中。
4.4 运行构建项目,查看控制台信息,查看邮箱是否有收到邮件报告
5. 踩过的雷
5.1 系统管理员邮件地址
系统管理员邮件地址,要跟下方邮件通知中的用户名一致。不然,可能会报错:connection closed by remote host....
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>