Jenkins 设置构建失败发送邮件(学习笔记二十一)

2022-05-24 15:09:53 浏览数 (1)

本文是jenkins应用系统文章的一部分,大部分来自工作和学习中的实践,部分内容来自官方文档和网友的文章,引用的文章会在“参考资料”部分附上原始链接,如无意中侵犯您的权利,请联系QQ:46106962,如需要进一步的交流请加入QQ群: (Jenkins学习交流)469536515。转载和使用请注明出处。

邮件服务器配置

首先在Jenkins的“系统管理”->“系统设置”中设置“系统管理员邮件地址”,如:123456@qq.com;“系统管理员邮件地址”要和下面“邮件通知”中使用相同的后缀名和用户名,否则会报异常。

QQ邮箱服务

第一步

登录QQ邮箱,在“帐户”里开启“POP3/SMTP”并获取授权码,授权码的说明见http://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28。

第二步

在Jenkins的“系统管理”->“系统设置”中的“邮件通知”中设置邮件服务器相关的参数,如下图:

特别提示

“用户名”要和“系统管理员邮件地址”中的保持一致,否则会在“通过发送测试邮件配置”进行测试时会报异常:com.sun.mail.smtp.SMTPSendFailedException: 501 mail from address must be same as authorization user

“密码”填写第一步中获取的授权码,否则会报异常:javax.mail.AuthenticationFailedException: 535 Error

126邮箱服务

在Jenkins的“系统管理”->“系统设置”中的“邮件通知”中设置邮件服务器相关的参数,如下图:

特别提示

在使用126的邮箱服务时smtp的端口为默认端口,即25;不需要使用SSL协议,如果勾选“使用SSL协议”会报异常:javax.mail.MessagingException: Could not connect to SMTP host: smtp.126.com, port: 25;

  nested exception is:

     javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection

163邮箱服务

个人邮箱

第一步

登录163邮箱,在“设置”->“POP3/SMTP/IMAP”设置授权码

第二步

在Jenkins的“系统管理”->“系统设置”中的“邮件通知”中设置邮件服务器相关的参数,如下图:

特别提示

“密码”填在“第一步”中设置的授权码,如果用登录密码会报异常javax.mail.AuthenticationFailedException: 535 Error: authentication faile

关于“smtp服务器”的设置,163邮件的帮助文档里写的是“smtp.126.com”,不要按文档上写的而要使用“smtp.163.com”

163 smtp协议可用端口如下图:

实际验证发现端口25也可用于SSL协议。

   Job中要使用发邮件功能,需要在“构建后操作”中选择“邮件通知(Mail Notifcation)”,设置“接收人(Recipients)”,多个接收人时用英文空格分隔。

   “Mailer Plugin”有如下两个可选项:

“每次不稳定的构建都发送邮件通知”

此选项默认是选中的,当Job运行失败或不稳定时发邮件给“接收人”中指定的人

“单独发送邮件给对构建造成不良影响的责任人”

此选项选中时会向导致构建失败的代码提交人的邮件中发送邮件,邮箱后缀名是在“邮件通知”是在“用户邮箱默认后缀”中设置的,如果这样的邮箱不存在将会发送失败导致Job失败。我猜测Mailer Plugin会从scm的提交记录中获取提交人名称,然后和“用户邮箱默认后缀”拼在一起组成邮箱并发送邮件。

版权声明:转载请注明出处 https://blog.csdn.net/houyefeng/article/details/50914582

0 人点赞