**1. 安裝插件 Email Extension Template、Email Extension**
**2. 開啟郵箱的 POP3/SMTP服務**
在這里我使用 163郵箱作為Jenkins的系統郵箱,即發件郵箱。發件郵箱需要開啟 POP3/SMTP服務。下面為開啟 163郵箱的 POP3/SMTP服務 的步驟。
(1)登錄網易郵箱:https://mail.163.com/ 。
(2)開啟 POP3/SMTP服務 服務。


(3)開啟后會有一個授權碼,記得復制并保存下來。
**3. Jenkins設置郵箱相關參數**
(1)系統管理 -> 系統配置 -> Jenkins Location。

(2)配置 Extended E-mail Notification。




```
${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS} !
${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS} !
Check console output at $BUILD_URL to view the results.
```
(3)配置郵件 郵件通知。


(4)測試是否配置成功。

**4. 編寫郵件模板**

`src/main/resources/email.html`
```html
<!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>觸發原因: ${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><textarea cols="80" rows="30" readonly="readonly" style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
</td>
</tr>
</table>
</body>
</html>
```
**5. 編寫腳本發送郵件**

`src/main/resources/jenkinsfile`
```groovy
pipeline {
agent any
stages {
...
}
post {
always {
//1. 郵件內容指定 email.html 模板
emailext body: '${FILE,path="src/main/resources/email.html"}',
//2. 這個是郵件的標題
subject: '構建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS} !',
//3. 這個是郵件的接收者,多個郵件用 , 分割
to: 'xxb@163.com,xx010@qq.com'
}
}
}
```
修改后記得上傳到 gitlab 上。
**6. 構建后兩個郵件收到的信息如下**

- 相關概念
- 軟件開發生命周期
- 軟件開發瀑布模型
- 軟件的敏捷開發
- 持續集成
- Jenkins介紹
- Jenkins是什么
- Jenkins的特征
- Jenkins環境搭建
- 搭建架構說明
- Gitlab安裝與配置
- Jenkins安裝與配置
- Tomcat安裝和配置
- Jenkins構建項目
- 自由風格軟件項目構建
- Maven項目構建
- Pipeline流水線項目構建
- Pipeline是什么
- Pipeline語法
- 流水線項目構建演示
- Pipeline Script from SCM
- 構建觸發器
- 觸發遠程構建
- 其他工程構建后觸發
- 定時構建
- 輪詢SCM
- Git hook自動觸發構建
- 參數化構建
- 配置郵箱發送構建結果
- SonarQube代碼審查平臺
- SonarQube是什么
- SonarQube平臺搭建
- 安裝jdk11
- 安裝數據庫PostgreSQL12
- 安裝SonarQube
- SonarQube實現代碼審查
- Jenkins+Docker+SpringCloud(1)
- 流程說明
- 環境搭建
- 服務器列表
- Docker安裝與配置
- Harbor安裝與配置
- Nginx安裝與配置
- 微服務持續集成演示
- Jenkins上配置
- 微服務項目配置
- 部署前端靜態web網站