Jenkins邮件设置

前言

最近搭建Maven+Testng+jenkins的持续集成环境,希望最后实现自动邮件运行结果报告,结果设置就费了两天时间(还没实现预期效果),记录下过程分享给需要的人。文章部分内容摘录自网络博客,部分来自官网翻译。

jenkins 内置了邮件功能,就是邮件通知, 由于它的功能太过单一无法满足需要;于是扩展插件就诞生了;文章中这两个邮件的配置都会介绍到。

内置邮件的配置与使用

jenkins内置邮件的配置相对比较简单。

  1. 系统配置

    打开jenkins的系统管理->系统设置(Jenkins—>Manage Jenkins—>configure system),进入配置页面,如下图所示:

    该处主要设置系统全局发件服务器,该邮件必须已经开启POP3/STMP服务,否则报错。

    Have a Try :勾选 "通过发送测试邮件配置"测试此配置能否连通, 如果收到以下邮件:This is test email #1 sent from Jenkins 恭喜,配置成功!

  2. 项目配置

打开jenkins的系统管理->点击进入项目->配置,配置如下

点击保存,设置完成。执行构建,运行报告会根据你的设置发送报告。虽然该报告非常简单,但至少能用了。

邮件插件的配置与使用

  1. 安装插件

    安装插件"Email-ext plugin";可以在线安装也可以官网下载后离线安装。具体操作可参考:

     http://www.cnblogs.com/sylvia-liu/p/4485311.html

  2. 系统配置

    打开jenkins的系统管理->系统设置(Jenkins—>Manage Jenkins—>configure system),进入配置页面

    设置内容与内置邮件设置类似

  3. 项目配置

    1)打开jenkins的系统管理->点击进入Job->配置,添加构建后步骤"Editable Email Notification"

目前附件仅实现发送文件,发送目录最终按照目录下的文件一个个显示。附件路径以<Jenkins Home>jobs<JobName>workspace为跟目录,目前仅实现发送workspace目录下内容;

更灵活应用还在学习中,有高手可以留言解决方案

    2)设置邮件发送触发器

点击上图中的 Advanced Settings,打开触发设置面板;点击"add trigger"选择触发条件

再触发条件下设置Send To对象;点击保存,设置成功。

 

 

附录A

网络摘录:http://www.cnblogs.com/GGHHLL/p/jenkins.html

官网资料:https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin

 

附录B

  1. 勾选 "通过发送测试邮件配置",点击"test configuration"按钮,显示报错如下:

     

Failed to send out e-mail

com.sun.mail.smtp.SMTPSendFailedException: 501 mail from address must be same as authorization user;

nested exception is:

com.sun.mail.smtp.SMTPSenderFailedException: 501 mail from address must be same as authorization user

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2057)

at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1580)

at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1097)

at javax.mail.Transport.send0(Transport.java:195)

at javax.mail.Transport.send(Transport.java:124)

at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:522)

………………………………….

Caused by: com.sun.mail.smtp.SMTPSenderFailedException: 501 mail from address must be same as authorization user at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1587)

        ... 62 more

解决办法:系统设置中,系统管理员邮件地址必须与系统设置中邮件通知下SMTP的发件地址一致

分析原因:未知

原文地址:https://www.cnblogs.com/sylvia-liu/p/4527390.html