Jenkins 配置邮件通知步骤
Jenkins 配置邮件通知
前言
可以在Jenkins 中配置邮件通知,比如在构建失败时发送邮件通知项目组来及时修复问题。
Jenkins 邮件通知功能的插件主要包括:
Mailer Plugin (默认的发送邮件插件)
Email Extension Plugin (功能更强大的发送邮件插件)
建议同时安装这两个插件。
下面来介绍如何在Jenkins 中通过这两个插件来配置邮件通知。
发送邮件原理
在Jenkins中配置邮件通知之前,先来解释一下发送邮件的原理。
通常我们要发送邮件,需要以下条件:
Email from: 写信人 (必须)
Mail Server: 邮件服务器 (必须,比如SMTP服务器就是一种邮件服务器)
Mail Transfer Protocol: 邮件传输协议 (必须)
比如SMTP服务器使用的就是SMTP协议或SMPTS协议
SMTP协议默认端口有25、587
SMTPS协议默认端口有465
具体的SMTP/SMTPS协议端口以邮箱供应商提供为准
Email to: 收信人(必须)
Email cc: 抄送人 (选填)
Email bcc: 秘密抄送人 (选填)
Email reply to: 回信人 (选填)
Email subject: 邮件标题(选填,一般需要填写)
Email content: 邮件内容 (选填,一般需要填写)
Email attached: 附件 (选填)
在Jenkins中配置写信人
打开 Manage Jenkins -> Configure System,搜索”mail“找到” System Admin e-mail address “,填入写信人邮箱地址。
如果不配置”System Admin e-mail address” 会导致Jenkins发送邮件时的”Connect time out”问题。
开通SMTP服务
如果使用的是外部邮箱(比如QQ邮箱)默认SMTP服务不会开启,需要登陆邮箱后申请开启。
以QQ邮箱为例,开启SMTP服务的步骤如下:
登陆上一步System Admin e-mail address的邮箱地址
打开 设置 -> 账号,开启”POP3/SMTP服务“
根据提示进行操作,并记录自动生成的16位的SMTP服务密码
如果是公司邮箱,请联系公司邮箱管理员咨询如何连接公司邮箱SMTP服务器。
在Jenkins中配置”E-mail Notification”
打开 Manage Jenkins -> Configure System,搜索”mail“找到” E-mail Notification“。该项下的内容为Mailer Plugin的配置项。
以QQ邮箱为例,填写以下内容:
SMTP server
勾选“Use SMTP Authentication”,然后输入邮箱地址和上一步的SMTP服务密码(不是邮箱密码)
勾选”Use SSL“(即使用SMTPS协议)
SMTP Port可以留空(在勾选”Use SSL“时默认是465,否则是25)
然后勾选”Test configuration by sending test e-mail”, 填入一个收件人邮箱地址,点击“Test configuraiton” 按钮测试是否可以发送邮件成功。
E-mail Notification配置截图如下:

在Jenkins中配置Extended E-mail Notification
打开 Manage Jenkins -> Configure System,搜索”mail“找到” Extended E-mail Notification“。该项下的内容为Email Extension Plugin的配置项。
以QQ邮箱为例,填写以下内容:
SMTP server
勾选“Use SMTP Authentication”,然后输入邮箱地址和上一步的SMTP服务密码(不是邮箱密码)
勾选”Use SSL“(即使用SMTPS协议)
SMTP Port可以留空(在勾选”Use SSL“时默认是465,否则是25)
在Default Recipients中填入默认的收件人邮箱
勾选“Enable Debug Mode”(方便调试时查看错误信息,调试成功后可以取消勾选)
勾选”Allow sending to unregister users” (支持发送邮件到未注册邮箱)
Extended E-mail Notification没有“Test configuration”功能,需要创建一个Job来测试(见下一步)。
Extended E-mail Notification配置截图如下:


创建一个Job测试Extended E-mail Notification
以创建Freestyle job为例,增加一个”Post-build action“,选择”Editable Email Notification”。
如果选择“Email Notification” 则会使用Mailer Plugin的”Email Notification“的配置项。
在测试时候,”Editable Email Notification”的其它项可以保持默认,但是以下地方需要修改:
Triggers中的Failed Any的“Send To”删除掉默认的Developers,增加”Recipient List“ (因为在测试时候可能没有commit记录,Jenkins无法找到要通知的邮箱;选择”Recipient List”时,默认使用上一步配置的“Default Recipients”)。
为了测试方便,在Triggers中增加一个Always的trigger,选择收件人为“Recipient List”,无论构建成功还是失败都会发邮件通知。
配置调优
上面只是说明了Jenkins发送邮件通知的基本用法,请参考Email Extension Plugin的文档进行配置调优,以满足实际需要。
比如:
邮件格式改为HTML,更美观
使用模板来配置邮件内容
为不同的Job配置不一样的收件人
为不同的事件配置不一样的trigger
在Jenkins pipeline中集成发送邮件通知功能
Trouble Shooting
Q: Jenkins 发送邮件失败,错误信息为“Connect time out”或”Connect refused“
A: 请按以下步骤检查:
阅读上面的”发送邮件原理“,对照检查是否漏了填写必填项
阅读上面的”在Jenkins中配置写信人“,检查是否漏了填写”System Admin e-mail address”
阅读上面配置步骤,检查是否填写错误
如果使用外部邮箱,检查是否已经开通了SMTP服务,并填写正确的SMTP服务密码(不是邮箱密码)
如果是公司网络,检查是否网络防火墙禁止访问外部SMTP服务,比如在Jenkins服务器上运行telnet smtp.qq.com 465 看是否可以连接上QQ的SMTP服务器
如果在公司电脑上安装Jenkins,检查是否本机杀毒软件或防火墙禁止或关闭了访问外部SMTP服务
---------------------
作者:nklinsirui
原文:https://blog.csdn.net/nklinsirui/article/details/80743087
Jenkins 配置邮件通知步骤的更多相关文章
- Jenkins 配置邮件通知
jenkins 是一个开源的自动化服务器.通过Jenkins,可以通过自动化加速软件开发过程.Jenkins管理和控制各种开发的生命周期过程,包括构建,文档,测试,包,阶段,部署,静态分析等等.您可以 ...
- 环境部署(八):jenkins配置邮件通知
完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...
- jenkins持续集成(三): jenkins配置邮件通知
完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...
- jenkins配置邮件通知
参考: https://www.cnblogs.com/imyalost/p/8781759.html 谢谢大佬~
- Jenkins中配置邮件通知实例演示
前言:本文通过安装配置Jenkins实现邮件通知,告知一个C# Git Repo的build成功与否 一.预配条件 在windows上安装Jenkins和它推荐安装的Plugins 创建一个@163. ...
- Jenkins之邮件通知
Jenkins默认有一个邮件通知功能,但功能比较单一,能自定义的东西很少,一般使用Extended E-mail Notification插件来发送邮件,EXT Email插件功能比较多,但设置也比较 ...
- Jenkins进阶-邮件通知(9)
公司内部每天大概会发布N多版本,也不能派员工一直去盯着版本发布,所以希望发布完成后通知相关人员,Jenkins最早采用通知机制就是短信和邮件,由于短信成本很高,所以我们一般在发布结束后会采用邮件.现在 ...
- Jenkins配置邮件信息
1.进入Manage Jenkins----系统配置 2.设置Jenkins地址和管理员邮箱(不设置管理员邮箱无法发送邮件) 3.配置系统管理员的邮件属性 4.点击[高级]配置系统管理员的邮件属性 5 ...
- Jenkins配置邮件发送测试报告
前言 在之前的文章(Jenkins自动执行python脚本输出测试报告)中,我们已成功实现利用Jenkins自动执行python脚本,输出并可直接在界面上查看测试报告,这里我们还差最后一步,我们需要将 ...
随机推荐
- 各种15min(启动、横盘、破位)样例
15min-m20=day m1.5 15min-m60=day m5 15min-m125=day m10 15min-m260=day m20 1.2017年6月8日 360 + 2018年11 ...
- 前端学习历程--http与https
一.CA(证书授权中心)证书 1.ca是通信的中介,具有足够的权威性 2.信任可嵌套如:C 信任 A1,A1 信任 A2,A2 信任 A3 二.根本区别 1.https需要基于ssl的ca证书认证(判 ...
- 架构设计---soa与msa的概念(转)
https://blog.csdn.net/qq_15001229/article/details/79535037
- WCF 基础框架
WCF 基础框架: 1,契约:契约书一语个服务公共接口的一部分,一个服务的契约定义了服务端公开的方法,使用的传递协议,可访问的地址,传输的消息格式等内容,主要包括数据契约,消息契约,服务契约等. 2, ...
- 【论文速读】XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection
XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection 作者和代码 caffe代码 关键词 ...
- 开发宏功能:excel中从sheet批量插入
源数据如图: 宏操作: 生成数据后: 关键操作:在excel中启用开发工具,添加宏,然后添加模块即可,编辑完代码后,自定义功能按钮即可. Sub MakeDataSource() Dim isExis ...
- 菜鸟初学redis(二)
如果你的redis可以在myeclipse上运行小demo了,那么可以继续学习了 redis Java String 实例 string是redis最基本的类型,一个key对应一个value. str ...
- laravel5.7 migrate 时报错 Specified key was too long error 解决方案
今天在数据迁移时突然报了 Specified key was too long error 的错,解决掉之后就把这个问题记录下来. 报错原因 Laravel 5.4 + 默认使用 utf8mb4 字 ...
- html2canvas截屏用法
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" ...
- 关于weblogic部署Java项目的包冲突问题
我们可能会用各种应用服务部署我们的Java应用,比如Tomcat.WAS.weblogic等.Tomcat和WAS可能会比较少遇到一些奇怪的问题,但是用weblogic部署项目则经常遇到一些比如包冲突 ...