jenkins 邮件配置
一、使用场景
job定时构建或者自动化测试耗时较长时,管理员无法等着实时查看结果,因而采用了jenkins的邮箱发送功能。
二、邮箱通知基础版
顾名思义,仅能完成基本的邮件发送功能。
jenkins默认就有一个邮件通知,只是太简单的,不能个性化或者说定制化。
注:此处以QQ邮箱为例,其他如阿里云,网易对应配置亦可。
1、设置系统管理员邮件地址
系统管理 -→ 系统设置 -→ 管理监控配置 -→ Jenkins Location
2、邮件通知设置
系统管理 -→ 系统设置 -→ 邮箱通知 (设置页面最下面)
smtp服务器配置完成后,点击输入框右下角“高级”继续配置:
① SMTP
服务器:如果你使用的是公司邮箱,那么就询问你自己公司里的运维人员吧;他们一般都知道,至少我就是问公司里的运维人员;要是你打算使用QQ邮箱
,那么你需要设置下,网上有教程;网易邮箱默认开启。
② 用户默认邮件后缀:根据自己情况去设置
③ 勾选使用SMTP认证
,用户名:根据自己情况设置,密码也是。
④ SMTP
端口:根据目标邮箱设置。
配置完成后,勾选发送测试邮件测试配置:
Jenkins的“系统设置”算是设置完成了,然后点击“保存”,进入到项目的设置。
3、job设置
进入构建的项目 --→ 配置 -→ 构建后操作
配置完成后,仅构建失败才会发邮件,邮件内容如下:
可以看出这个邮件内容纯文本,内容也不够丰富!
接下来我们使用增强版的邮件通知!
三、邮件通知增强版
主要通过插件 Email Extension Plugin 实现。
1、安装插件
系统管理 -→ 插件管理 找到插件后安装即可。
2、设置系统管理员邮件地址
同基础版。
3、插件配置
系统管理 -→ 系统设置 -→ Extended E-mail Notification
设置要求同默认邮件通知。
注意:
上面配置中,凡是以Default
开头的名称,都可以在job
的配置中当做变量使用。比如:默认的收件人地址:在单独的job
中可以这样使用$DEFAULT_RECIPIENTS
。
4、job 配置
在增加构建后操作步骤
,添加增强版邮件通知(看红色圈住的部分):
之后你会得到:
(圈起来的为需要设置的)
到此设置完成,手动构建job,即可发送邮件。
邮件格式未做处理,以上设置采用的默认格式,可自定义,待补充。。。
四、遇到的问题
1、问题① 提示发送失败
具体原因不清楚,在网上各种找方法,后来捋顺默认邮件通知和插件邮件通知后,单独跑邮件通知和插件通知,初步判断可能是因为搞混了默认邮件通知和插件通知的系统配置和job配置。
2、问题② 提示成功却没收到邮件
默认邮件通知ok,但插件通知邮件未报错也未收到邮件;
基于默认邮件通知的功能限制,我用的构建失败的job测试,因此接收成功;但插件邮件配置时忘记配置发送邮件的场景,默认仅在构建失败时发送,而我测试时用的job是构建成功的。
3、问题③ 报错提示无法连接到邮件服务器
配置好发送邮件场景后,不再是未报错也未收到邮件,而是提示无法连接到SMTP,报错内容还显示了端口,因此我往SMTP端口方面查;
- 在qq邮箱的帮助文档给出的端口
发现与网上配置方法中的默认端口25不一样,就试了下修改成邮箱提示的,然后!竟然真的发送成功了!
注:后来反复在SMTP端口这块做了验证,发现其实一开始就是我自己被网上的各种配置方法搞晕乎了,主要是两种配置方式:
- 勾选了SSL加密,就选择目标邮箱推荐的发送邮件SMTP端口(QQ邮箱是465或587);
- 不勾选SSL加密,就直接使用SMTP默认端口25即可。
来源:https://www.cnblogs.com/xinxinyo/p/10395114.html