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,查看邮件是否能成功发送。