前言
个人其实一直的不太喜欢用邮箱发送报告,测试报告用邮件通知这都是五六年前的事情了,但有部分小伙伴依然执着于发邮件报告通知。
这里整理了下发邮箱通知的教程。
配置你的邮箱
配置邮箱这一步最繁琐,由于每个人使用的邮箱不一样,配置也是不一样的,没有固定的答案。
这就导致很多人在配置邮箱这一步就被卡住...
安装 Email Extension Plugin 插件
jenkins首页-系统管理-插件管理,可选插件,搜索: Email ,安装Email Extension Plugin插件

jenkins首页-系统管理-系统配置页面,先配置系统管路员邮箱地址,也就是发件人的地址

测试邮箱的配置是否能发送邮件


SMTP服务器 邮箱的服务器地址,不同的邮箱这里是不一样的
用户名 你自己的邮箱地址,跟上面系统管理员邮箱地址一致
密码 QQ邮箱是用的SMTP_SSL模式,所以这里不是QQ的密码,是授权码
使用SSL协议 QQ邮箱需勾选,腾讯企业邮箱不需要勾选
smtp端口 一般默认465
Test e-mail recipient 测试收件人的地址
点右侧的 Test configuration 按钮即可测试邮件测试
Extended E-mail Notification配置
上一步是jenkins系统自带的邮件功能,功能比较少,接着使用Email Extension Plugin插件,前面配置跟上面一步差不多

Default Content Type 邮件的类型使用HTML 格式
Default Recipients 是默认的收件人
接着配置邮件的模板内容,也就是这个Email邮件的高级内容

-
Default Subject 邮件的主题,一般不用改
-
Default Content 邮件的正文内容,html格式,内容如下
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志 本邮件由系统自动发出,无需回复!
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息构建结果 - ${BUILD_STATUS}
构建信息- 项目名称 : ${PROJECT_NAME}
- 构建编号 : 第${BUILD_NUMBER}次构建
- 触发原因: ${CAUSE}
- 构建状态: ${BUILD_STATUS}
- 构建日志: ${BUILD_URL}console
- 构建 Url : ${BUILD_URL}
- 测试报告: ${PROJECT_URL}allure
失败用例
$FAILED_TESTS
最近提交(#$SVN_REVISION)
-
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="
- %d [%a] %m "}
</td> </tr> </table>生成allure报告
插件管理搜索:allure, 安装 allure 插件

系统管理-全局工具管理,安装allure命令行工具

新建流水线任务

新建流水线任务

配置Pipeline script

完整的pipline脚本
pipeline { agent any stages { stage('your-tests') { steps { // check out git仓库 git credentialsId: '证书id', url: 'https://gitee.com/你自己仓库地址' // Depends on your language / test framework // sh 'pip3.9 install -r requirements.txt' // 执行pytest用例,生成报告 sh 'python3.9 -m pytest --alluredir ./report' } post{ always{ script{ echo "构建后操作 allure report.........." allure includeProperties: false, jdk: '', results: [[path: 'report']] } } } } } post { always{ script{ println("流水线结束后做的事情") echo "send email" emailext body: ''' 构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a> <br> 测试报告: <a href="${PROJECT_URL}allure">${PROJECT_URL}allure</a> ''', subject: '$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!', to: '283340479' } } success{ script{ println("流水线成功后,要做的事情") } } failure{ script{ println("流水线失败后,要做的事情") } } aborted{ script{ println("流水线取消后,要做的事情") } } } }配置完成后,执行job,邮箱就能收到运行报告了

其中邮件正文内容可以自定义自己想要的内容,比如前面在系统设置里配置的邮箱默认发送内容,复制过来就可以了。
相关推荐X1A0RAN1 天前Jenkins Pipeline 变量打印指南heimeiyingwang1 天前【CI/CD·Jenkins篇】多节点构建:Agent 配置与任务分发策略heimeiyingwang2 天前【CI/CD·Jenkins篇】环境搭建:从零部署 Jenkins 主从架构heimeiyingwang2 天前【CI/CD·Jenkins篇】Pipeline 基础:Declarative 与 Scripted 语法详解遨游DATA3 天前Jenkins 修改 config.xml 后页面仍是旧配置:让 live job 配置真正生效Dobby_053 天前【CICD】Jenkins Pipeline 快速学习入门上海安当技术4 天前统一身份认证平台怎么落地?11 个异构业务系统接入 ASP 的完整实施路径回眸不遇5 天前Elasticsearch嵌套类型nested使用指南回眸不遇6 天前类型的区别和应用场景 nested 每个对象独立存储为隐藏的子文档 适合存储数组 查询的时候有特定的语法 nested查询 且字段要 ...X1A0RAN7 天前容器化部署 Jenkins 教程热门推荐01如何新建文件夹? 电脑新建文件夹的4种方法02GitHub 镜像站点03国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)04AI 编程 IDE 全景解析 2026:Agent 全面接管开发链路05Agnes AI 免费 API 接入指南:文本、生图、生视频,一套接口全免费06微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新072026 国产 AI 大模型横评:DeepSeek、通义千问、Kimi、文心一言、星火、豆包谁更能打?082026年7月AI圈大地震:GPT-5.6被政府限制、Claude入驻Slack、Anthropic自研芯片0900 Debian字符界面如何支持中文10历年考研数学一、数学二、数学三真题试卷及答案PDF