使用Jenkins发送邮件

一、申请SMTP服务

首先我们申请一个QQ的SMTP服务,这样可以使用QQ邮箱来发送邮件



打开qq邮箱:https://mail.qq.com



登陆之后点击“设置”-账户
Jenkins(03):配置Jenkins自动发送邮件_自动



往下翻,可以看到这个页面:



Jenkins(03):配置Jenkins自动发送邮件_邮件_02

4. 我们要用到的就是图上标红的这个。我的是已经开启了的,如果没有开启,可以点击页面上的“开启”,然后按照提示走,就可以完成设置。

Ps:要注意的是我们要把最后弹窗中的“授权码”复制下来,可以放到记事本里,以备下一步使用。

二、下载Jenkins插件( Email Extension Plugin)


  1. 打开Jenkins,进入“系统管理”-“插件管理”
  2. 打开“可选插件”,搜索“ ​Email Extension Plugin​”即可安装。
  3. 安装好之后可以重启一下Jenkins以便加载
  4. 重启方式参考我的这篇博文:​​Jenkins重启的几种方式​
  5. 如果没使用过Jenkins,可以参考我的这一篇博文进行简单学习:​​Jenkins的安装及基本配置​

三、配置Jenkins



进入“系统管理”-“系统设置”,往下一直翻,翻着翻着我们可以看到这个模块:
Jenkins(03):配置Jenkins自动发送邮件_邮件_03
Jenkins URL​:输入我们的Jenkins地址
系统管理员邮件地址​:这个就是我们想要用来发送邮件的QQ邮箱账号。



继续往下翻就可以看到我们今天的猪脚Extended E-mail Notification啦,PS:记得点开右侧的“高级”按钮。配置如下:
Jenkins(03):配置Jenkins自动发送邮件_自动_04
名词解释(纯手打):SMTP Server​:SMTP服务名
Default User E-mail suffix​:后缀名
User Name​:用户名
Password​:授权码
Default Content Type​:是我们发送时候的格式,可以根据需要选择。
Default Pecipients​:收件人列表。cc代表抄送,bcc代表暗送,不加表示收件
Peply To List​:回复邮件的收件人



此外,我们还要配置的一点是(涉及到我们能否成功按照需求发送邮件):
Jenkins(03):配置Jenkins自动发送邮件_发送邮件_05
打开Triggers按钮,并勾选上Enable Debug Mode;然后在Default Triggers中勾选上我们需要的发送邮件的场景。 如果要求在构建失败时发送,那就勾选Failure-Any,如果成功时也要发送,就把Success也勾选上,意思大概就是这么个意思,可以领会一下。



完成以上设置,我们的 Extended E-mail Notification 配置就设置完啦。然后我们再继续往下翻,翻到“邮件通知”。也要记得打开右侧的“高级”:
Jenkins(03):配置Jenkins自动发送邮件_邮件_06
填写方式如上图。



最后我们勾选上“通过发送测试邮件测试配置”,在右侧输入框中输入想要的收件人邮箱点击Test configuration。(这一步是测试,但是收件人也会真的收到一封测试邮件)
最后弹出Email was successfully sent,也就是配置成功啦!
Jenkins(03):配置Jenkins自动发送邮件_邮件_07



四、配置job,实现构建后发送邮件给指定联系人

上面我们已经做好了基础设置,但还没应用到实际,接下来讲一下怎么把“邮件发送”应用到相关job中。


  1. 首先我们打开创建好的job,点击“​配置​”,往下翻,找到“​构建后操作​”,点击添加构建后操作,选择​Editable E-mail Notification​:
    Jenkins(03):配置Jenkins自动发送邮件_Jenkins_08
  2. 打开之后我们先在页面上设置默认的发件的收件人信息以及回件的收件人信息。
    如果我们填写缺省收件人,则会从刚刚我们做的Jenkins默认设置中进行同步。
    Jenkins(03):配置Jenkins自动发送邮件_邮件_09
    Jenkins(03):配置Jenkins自动发送邮件_Jenkins_10
    我们也可以在这里添加触发器,选择什么情况下发送邮件。
    Jenkins(03):配置Jenkins自动发送邮件_Jenkins_11
    设置好之后点击保存,设置便生效啦。

五、回到主界面,执行工程构建。

执行完构建后我们可以在日志中看到执行成功,且左侧状态栏的最下方多了一个report:

Jenkins(03):配置Jenkins自动发送邮件_email_12

最后收件人打开邮箱所收到的邮件就是这样啦(样式是自由设置的):

Jenkins(03):配置Jenkins自动发送邮件_email_13


软件测试工程师一只,也在不断的学习阶段,平时的小经验不定期分享。
博主经验有限,若有不足,欢迎交流,共同改进~