Jenkins中的邮件设置

本文主要对 jenkins 的邮件通知进行介绍

  • jenkins 内置的邮件功能
  • 使用插件扩展的邮件功能

1. 先介绍下 基本的Jenkins 邮件服务器 配置

   1)进入系统设置system config 页面 (以qq邮件服务器为例):

 Jenkins中的邮件设置_第1张图片


Jenkins中的邮件设置_第2张图片


Jenkins中的邮件设置_第3张图片

   

可以勾选 “通过发送测试邮件配置”  测试此配置能否连通, 如果收到以下邮件,恭喜

This is test email #1 sent from Jenkins

 

   2)下面接着对构建的job 添加邮件发送的步骤,

Jenkins中的邮件设置_第4张图片

 这样每次build后都会发送邮件给这个接收者, 到这里你会发现,只能发给 固定的对象,且格式单一(txt)

 

 ====好了,现在进入主题====

 

2.  使用插件 “Email Extersion Plugin”进行扩展

 它可根据构建的结果,发送构建报告,给当前的committer (用git做代码管理)

   1) 该插件支持jenkins 1.5以上的版本,至少我的 1.486是不支持的啦。所以果断升级吧。。

    插件的安装此处略 ,若您可选插件的页卡的列表是空的,先去高级页面检查更新下。

   2)插件用于job配置页面,添加构建后步骤“Editable Email Notification”

 Jenkins中的邮件设置_第5张图片

   上面的配置 给出了 该工程的默认接收列表,当然抄送的话 直接 可以这么写 cc:[email protected]

   对于内容,你也许注意到了 这里调用了个 ‘html.jelly’ 的模板,这是插件内置的,直接用即可。(支持git每次变更的记录,mvn 及junit 等编译的结果报告)

   当然也可以自己写 jelly文件, 确保放置 jenkins/home/email-template下 以供jenkins调用。  

 

    3)至此你也许会问 这不还是用的固定的接收列表嘛 (⊙_⊙) ,别着急 看到右下角的高级选项没, 继续配置,

 

    Jenkins中的邮件设置_第6张图片

 

     我设置了 build成功和失败都发给 默认的接收者和当前提交代码的家伙,而send to requester 是指手动触发构建时当前登陆jenkins的用户。

 

ps:

         1. 如果有人 git commit时候没有进行global的name和email设置,将不会发送到正确的邮箱(jenkins将按各自的机器名作为域名地址发送到错误的邮箱)

         2. 当然还可在jenkins 管理用户中 个别设置 邮箱。不过对于团队较多的话,你就苦了。 所以还是有必要请大家提交前进行实名设置。


遇到的问题:

1.501 mail from address must be same as authorization user...

Jenkins中的邮件设置_第7张图片


解决方法:在jenkins url下面的系统管理员邮件地址没写,填写与用户名一致就可以了。


2.javax.mail.AuthenticationFailedException: 535 Error: authentication failed

Jenkins中的邮件设置_第8张图片


解决方法:查了半天,原来因为用的是qq邮箱,smtp服务需要开启,smtp服务开启了之后,qq会给你一个授权码,这个授权码就是你用第三方客户端登录qq邮箱的密码,把这个授权码填到jenkins的smtp的认证密码里面就可以了,可以根据以下链接操作:
http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256


 

你可能感兴趣的:(Jenkins)