前言
- 邮件通知【基础版】: Jenkins:发送邮件(QQ邮箱)
基于Email Extension Plugin,增强邮件通知
安装Email Extension Plugin插件
进入系统管理->系统设置
"系统管理员的邮件配置地址",对管理员的邮件进行配置(邮件发送者)

找到“Extended E-mail Notification”配置模块,在这里配置插件的全局控制
Default Content Type:邮件内容格式,可选Plain text和HTML。
Default Recipients:默认的收件人列表,用逗号分隔。收件人列表中还可以包含“cc”和“bcc”前缀,分别表示抄送和暗送,如:cc:123456@qq.com,bcc:78910@qq.com。
Default Subject:默认的邮件标题。
Default Content:默认的邮件内容。

邮件主题
【构建通知】$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
邮件内容模板
<!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>
<td>(本邮件是程序自动下发的,请勿回复!)</td>
</tr>
<tr>
<td><h2>
<font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
</h2></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>SVN 版本: ${SVN_REVISION}</li>
<li>触发原因: ${CAUSE}</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>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">Changes Since Last
Successful Build:</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
</ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat=" %p"}
</td>
</tr>
<tr>
<td><b>Failed Test Results</b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td><pre
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
<br /></td>
</tr>
<tr>
<td><b><font color="#0B610B">构建日志 (最后 100行):</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<!-- <tr>
<td>Test Logs (if test has ran): <a
href="${PROJECT_URL}ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip">${PROJECT_URL}/ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip</a>
<br />
<br />
</td>
</tr> -->
<tr>
<td><textarea cols="80" rows="30" readonly="readonly"
style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
</td>
</tr>
</table>
</body>
</html>
Enable Debug Mode:开启插件的Debug模式,在日志里能看到更多信息
点击最右下角的"Default Triggers ..."按钮设置默认的触发邮件通知的事件
填好SMTP Server的信息。点击“高级”进行SMTP鉴权的配置,配置发邮件人的用户名、密码等信息。
注意:
- 对于QQ邮箱-Password字段需要填写授权码(获取授权码,请参考https://blog.youkuaiyun.com/fly910905/article/details/80331842)
- 对于QQ邮箱,需要勾选“Use SSL”
在项目配置后添加“构建后操作“, 选择”Editable Email Notification”进行配置
- Disable Extended Email Publisher:勾选后,邮件就不发送,看自己的情况喽,如果你想调试某些东西,又不想发邮件出去就可以勾选这个。
- Project Recipient List:收件人地址;多个收件人邮件地址用逗号进行分割;想使用全局默认配置的话,可以使用$DEFAULT_RECIPIENTS。
- Project Reply-To List:允许回复人的地址;想使用系统设置中的默认值的话,可以使用$DEFAULT_REPLYTO;
- Content Type:邮件文档的类型,可以设置HTML等格式;
- Default Subject:默认主题,也就是邮件标题;同理可以使用$DEFAULT_SUBJECT
- Default Content:默认邮件内容;这里是关键;我这里使用的是模板${SCRIPT, template="groovy-html.template"};后面会讲;当然不想使用模板的话,可以通过使用jenkins自身提供的变量来自己定义;
- Attach Build Log:发送的邮件是否包含日志;
最好添加RecipientList,笔者测试只有Developers,不能接收到邮件
针对该项目定义该项目通知的收件人列表、主题、内容、附件等


邮件通知效果
常见异常
- Jenkis邮件通知异常:MessagingException message: 535 Error
- Jenkis邮件通知异常:MessagingException message: 530 Error: A secure connection is requiered(such as ssl)