一 背景
本来以为邮件服务比较简单就不记录了,但操作发现里面还是有不少坑,比如邮件发不出去了。排坑的过程就是理解插件作用的过程,理解了每一步的作用自然之道如何处理异常。
二 jenkins配置邮件服务过程
2.1 插件选择
Email Extension Plugin插件,我的是默认安装,没安装的自己到插件安装。
2.2 系统配置邮件服务
通过系统管理→系统设置,进行邮件配置
- 基本管理员邮箱配置
- 配置smftp server,这里是阿里云邮箱,配置比较简单。
smtp固定值和我一样就可以,账号密码就是邮箱的登陆账号密码。
接上面部分,这里需要注意Default Recipients就是收件人列表,空格或者逗号隔开。
未来的通知人配置的就是这个地址。
接上,配置触发条件。这里成功和失败都触发通知。
2.3 配置jenkins自带服务(非必须)
个人理解这个部分是非必须的,因为我们不用系统自带的邮件,而是用的插件。这里配置的好处是后面可以测试一下邮件是否正确。
配置过程同2.2,配置完成后点击测试发送,如果发送成功代表你的邮件服务器配置正确。
2.4 配置项目的邮件通知
上面的配置时全局配置,需要在项目里面应用配置,才能收到邮件
在具体的job中选择构建后操作,选择可编辑的邮件通知打开如下视图。
务必要打开扩展配置,这个有个小坑,失败和成功的时候一定要选择RecipientList,否则可能收不到邮件。
2.5 点击保存
以上就配置完成,点击构建无论成功失败都可以收到邮件
三 遇到的错误(收不到邮件)
如果收不到邮件请确认构建log
3.1 An attempt to send an e-mail to empty list of recipients, ignored.
原因: 收件人列表为空
解决方案: 确认三个地方,这三个地方没配合好就可能为空
- 全局配置的Default Recipients
- 项目配置中Project Recipients List
- 项目配置中扩展配置没选择Recipient List. 默认是Developers(收不到)
3.2 Error sending to the following VALID addresses
下面为空就ok了,设置后会报这个错
ref
这个老哥写的比较详细,大家参考
https://www.cnblogs.com/imyalost/p/8781759.html