zhangbinmy 发表于 2018-1-7 13:34:23

Jenkins邮件设置

  前言
  最近搭建Maven+Testng+jenkins的持续集成环境,希望最后实现自动邮件运行结果报告,结果设置就费了两天时间(还没实现预期效果),记录下过程分享给需要的人。文章部分内容摘录自网络博客,部分来自官网翻译。
  jenkins 内置了邮件功能,就是邮件通知, 由于它的功能太过单一无法满足需要;于是扩展插件就诞生了;文章中这两个邮件的配置都会介绍到。
  内置邮件的配置与使用
  jenkins内置邮件的配置相对比较简单。

[*]系统配置  打开jenkins的系统管理->系统设置(Jenkins—>Manage Jenkins—>configure system),进入配置页面,如下图所示:
https://images0.cnblogs.com/blog/553409/201505/251112307872638.png
  该处主要设置系统全局发件服务器,该邮件必须已经开启POP3/STMP服务,否则报错。
  Have a Try :勾选 "通过发送测试邮件配置"测试此配置能否连通, 如果收到以下邮件:This is test email #1 sent from Jenkins 恭喜,配置成功!
[*]项目配置
  打开jenkins的系统管理->点击进入项目->配置,配置如下
https://images0.cnblogs.com/blog/553409/201505/251112319741568.png
  点击保存,设置完成。执行构建,运行报告会根据你的设置发送报告。虽然该报告非常简单,但至少能用了。
  邮件插件的配置与使用

[*]安装插件  安装插件"Email-ext plugin";可以在线安装也可以官网下载后离线安装。具体操作可参考:
  http://www.cnblogs.com/sylvia-liu/p/4485311.html
[*]系统配置  打开jenkins的系统管理->系统设置(Jenkins—>Manage Jenkins—>configure system),进入配置页面
  设置内容与内置邮件设置类似
https://images0.cnblogs.com/blog/553409/201505/251112326934954.png
https://images0.cnblogs.com/blog/553409/201505/251112332094512.png
[*]项目配置  1)打开jenkins的系统管理->点击进入Job->配置,添加构建后步骤"Editable Email Notification"
https://images0.cnblogs.com/blog/553409/201505/251112344124512.png
  目前附件仅实现发送文件,发送目录最终按照目录下的文件一个个显示。附件路径以<Jenkins Home>\jobs\<JobName>\workspace为跟目录,目前仅实现发送workspace目录下内容;
  更灵活应用还在学习中,有高手可以留言解决方案
  2)设置邮件发送触发器
  点击上图中的 Advanced Settings,打开触发设置面板;点击"add trigger"选择触发条件
https://images0.cnblogs.com/blog/553409/201505/251112351469370.png
  再触发条件下设置Send To对象;点击保存,设置成功。
  附录A
  网络摘录:http://www.cnblogs.com/GGHHLL/p/jenkins.html
  官网资料:https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin
  附录B

[*]勾选 "通过发送测试邮件配置",点击"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://images0.cnblogs.com/blog/553409/201505/251112357406484.png
https://images0.cnblogs.com/blog/553409/201505/251112362878584.png
  分析原因:未知
页: [1]
查看完整版本: Jenkins邮件设置