jenkins發送email郵件的配置
1、檢查jenkins是否有email相關插件
在jenkins首頁選擇Manage Jenkins(jenkins管理),然后點擊Configure System(系統配置),檢查是否有Extended E-mail Notification和郵件通知的配置項。(ps:如果已經有這兩個配置項的話,直接走第三步配置)
2、安裝email相關插件(Email Extension Plugin)
方法一:在jenkins首頁選擇Manage Jenkins(jenkins管理),然后點擊Manage Plugins(插件管理),選擇可選插件,搜索對應的插件名稱,點擊【直接安裝】。
方法二:直接在jenkins官網中(https://plugins.jenkins.io/),找到下載插件的地方,搜索對應的插件進行下載,然后上傳至jenkins中。(ps:我之前安裝jenkins插件是使用方法二,分享一下之前下載的jenkins插件)
鏈接:https://pan.baidu.com/s/186aGNq4B9H_z1aOsxKCEYw
提取碼:j0vl
在插件管理頁面,選擇高級,在上傳插件中,點擊選擇文件,將剛才下載的插件進行上傳。
上傳完插件之后,需要重啟jenkins服務。http://localhost:8080/restart
3、配置jenkins的郵箱插件
(配置之前需要確保對應郵箱的smtp服務已開啟,未開啟的話,先去開啟smtp服務。具體可見https://www.cnblogs.com/wanglle/p/12838856.html)
在jenkins首頁選擇Manage Jenkins(jenkins管理),然后點擊Configure System(系統配置),找到Extended E-mail Notification和郵件通知的配置項。
①Extended E-mail Notification配置
注意:需要點開【高級】選項,進行配置。
具體配置如下:
注意:Extended E-mail Notification配置時,需要點開【Default Triggers】,默認的郵件觸發器,就是什么情況下觸發郵件的發送,這里只設置了在構建失敗和成功時發送郵件。
②郵箱通知配置
一般在檢查郵箱配置時,不可能有這么順利成功,肯定是出現了各種報錯信息(這邊我只列舉了自己遇到的報錯及處理辦法):
- javax.mail.internet.AddressException: Illegal address in string ``''
- 此報錯信息是因為Jenkins Location中的系統管理員郵件地址未配置導致,系統管理員郵件地址需要與開通smtp服務的郵箱用戶名保持一致。
- com.sun.mail.smtp.SMTPSenderFailedException: 553 Local user only,163 smtp10,DsCowAAHN_ffc79eGD1wCA--.50235S2 1589605343
- 此報錯信息是因為Jenkins Location中的系統管理員郵件地址與開通smtp服務的郵箱用戶名未保持一致,需要將系統管理員郵件地址與開通smtp服務的郵箱用戶名保持一致。
- com.sun.mail.smtp.SMTPSenderFailedException: 553 authentication is required,163 smtp10,DsCowABnVsLbdL9eh7NwCA--.37451S2 1589605595
- 暫時未找到處理辦法
4、選擇某一job進行配置郵件發送
①選擇某一job后,點擊【配置】后,在job配置頁面,找到【增加構建后操作步驟】,選擇【Editable Email Notification】。
②配置【Editable Email Notification】
Default Subject【默認主題】為:xxxx接口自動化測試結果通知:Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content【默認內容】如下:
大家好,本次接口測試構建結果如下: <hr/> <!DOCTYPE html > <html> <head> <meta name="referrer" content="never"> <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> </table> </body> </html> <b>${FILE,path="E:\Jenkins\workspace\ykt_jmeter_api_auto_test\test.html"}</b>
5、構建添加發送郵件的job,查看郵件是否能成功發送。