Jenkins 之邮件配置其实还是有些麻烦的,坑比较多,一不小心就。。。我是走了很多弯路的。

这里记录下来,希望大家以后不要重蹈覆辙:

我测试过,这里的 Extended E-mail Notification 好像没什么用, 随便写都不会报错,也不影响结果。 不知道干嘛的。

选中上面的“通过发送测试邮件测试配置”:

填写相关信息, 注意, 用户密码是发送方邮件地址的用户密码, 用户名必须和 系统管理员邮件地址一致。

用户默认邮件后缀, 写错了好像也不影响结果。 我猜 它的作用是, 发邮件时候, 邮件接收方 如果没有 @qq.com ,@sina.com 这样的后缀, 那么就会补上这个。 它是这个作用。不过,试了下,发现不行, sina 的stmp:

  1. com.sun.mail.smtp.SMTPAddressFailedException: Syntax error
  2. at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:)
  3. Caused: javax.mail.SendFailedException: Invalid Addresses;
  4. nested exception is:
  5. com.sun.mail.smtp.SMTPAddressFailedException: Syntax error
  6. at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:)
  7. at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:)
  8. at javax.mail.Transport.send0(Transport.java:)

或者163 的stmp 出现:

  1. com.sun.mail.smtp.SMTPAddressFailedException: Invalid User: robert
  2.  
  3. at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:)
  4.  
  5. Caused: javax.mail.SendFailedException: Invalid Addresses;
  6. nested exception is:
  7. com.sun.mail.smtp.SMTPAddressFailedException: Invalid User: robert
  8.  
  9. at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:)
  10.  
  11. at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:)
  12.  
  13. at javax.mail.Transport.send0(Transport.java:)

SSL 是可以选的。我试过 sina, 163 邮箱, 选择或不选 SSL , 发送邮件都是没问题的。 但是对于,qq 邮箱,SSL 是必须选的, 否则:

  1. Failed to send out e-mail
  2.  
  3. javax.mail.AuthenticationFailedException: Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28
  4. at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:)
  5. at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:)
  6. at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:)
  7. at javax.mail.Service.connect(Service.java:)
  8. at javax.mail.Service.connect(Service.java:)

另外,默认情况下,QQ邮箱 的STMP 功能是关闭的,如有需要手动启动。 开启的时候需要发送短信验证,比较麻烦。参考: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=166

STMP服务器是不能写错的,需要和发送方邮件地址对应上,否则:

  1. Failed to send out e-mail
  2. java.net.UnknownHostException: smtp.siaana.com  // 这里故意写错成了 smtp.siaana
  1. at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:) at java.net.Socket.connect(Socket.java:)

一般邮件发送方是需要认证的,这里我们选择用户密码方式,用户密码一定要正确,否则出现错误:

  1. javax.mail.AuthenticationFailedException: 5.7. authentication failed
  2. at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:)
  3. at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:)
  4. at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:)
  5. at javax.mail.Service.connect(Service.java:)
  6. at javax.mail.Service.connect(Service.java:)
  7. at javax.mail.Service.connect(Service.java:)

用户不存在也是这个错误。总之 535 5.7.8 authentication failed 是认证错误

另外,

Jenkins Location -> 系统管理员邮件地址 需要和 邮件通知-> 用户名 这里的配置一致, 否则出现:

  1. Failed to send out e-mail
  2.  
  3. com.sun.mail.smtp.SMTPSenderFailedException: Envolope sender mismatch with login user..
  4. at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:)
  5. Caused: com.sun.mail.smtp.SMTPSendFailedException: Envolope sender mismatch with login user..
  6. ;
  7. nested exception is:
  8. com.sun.mail.smtp.SMTPSenderFailedException: Envolope sender mismatch with login user..
  9. at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:)
  10. at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:)

Jenkins 之邮件配置的更多相关文章

  1. jenkins+mail邮件配置

    1.配置过程中出现的问题,“501 mail from address must be same as authorization user” 解决方案 2.还有一个问题,在配置jenkins的系统配 ...

  2. Jenkins学习四:Jenkins 邮件配置

    本文主要对Windows环境 jenkins 的邮件通知进行介绍 jenkins 内置的邮件功能 使用email-ext插件扩展的邮件功能 邮件通知功能主要包含两个部分:全局配置和项目配置. 一. 先 ...

  3. jenkins 邮件配置

    jenkins 自带一个邮件的通知的功能,但是自带的邮件通知功能,有点简单不能自定义信息,所以我们安装邮件插件Email-ext plugin.1.首先在系统管理-插件管理-安装Email-ext p ...

  4. 【转载】Jenkins安装以及邮件配置

    转载:http://www.nnzhp.cn/archives/590 Jenkins介绍 Jenkins是一个java开发的.开源的.非常好用持续集成的工具,它能帮我们实现自动化部署环境.测试.打包 ...

  5. Jenkins之发送html附件邮件配置

    邮件配置: 邮件内容范例: ${FILE,path="C:\\Users\\Administrator\\.jenkins\\workspace\\XXX自动化测试工程目录\\$JOB_BA ...

  6. jenkins 邮件配置 二 ***

    Jenkins 有两种邮件通知方式: 1.Jenkins自带的“E-mail Notification” 2.插件:Extended E-mail Notification,是可编辑的邮件配置方式. ...

  7. jenkins 邮件配置一

    jenkins默认的邮件通知 我先讲解下,默认的. jenkins默认就有一个邮件通知,只是太简单的,不能个性化或者说定制化. 设置系统管理员邮件地址 邮件通知 ①SMTP服务器:如果你使用的是公司邮 ...

  8. Jenkins安装以及邮件配置

    Jenkins介绍 Jenkins是一个java开发的.开源的.非常好用持续集成的工具,它能帮我们实现自动化部署环境.测试.打包等等的工作,还可以在构建任务成功或者失败之后给我们发邮件通知. 什么叫持 ...

  9. jenkins邮件配置----jenkins笔记(三)

    转载地址:https://www.cnblogs.com/sylvia-liu/p/4527390.html 前言 最近搭建Maven+Testng+jenkins的持续集成环境,希望最后实现自动邮件 ...

随机推荐

  1. android 逆向

    用到两个工具 :dex2jar和jd-gui 1,重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex: 2,解压dex2jar-0.0 ...

  2. docker配置ftp服务器

    docker run --name ftp_server -d -v ~/Projects/ftp:/home/vsftpd -p : -p : -p -:- -e FTP_USER=ftp -e F ...

  3. js跨域调用mvc ActionResult扩展

    背景 最近2个项目中都用到了js跨域访问的知识,2个项目都需要主站与各个分站之间进行数据交互.状态同步等相关操作.浏览器本身是不允许进行跨域访问,在MVC中我们可以扩展一个方法来实现这个功能.在此大家 ...

  4. 黄聪:pjax使用心得总结

    初次结识pjax是在使用tower时钟发现的.当时使用时发现网站可以局部刷新,当然我们知道使用ajax也是可以实现局部刷新的. 然而我们知道,使用ajax进行局部刷新时网站的title是不会变化的,并 ...

  5. 黄聪:.NET中zip的压缩和解压——SharpCompress

    使用Packaging无法实现通用的zip(使用其他工具压缩)的解压,只支持通过Packaging压缩包zip的解压,而SharpZipLib是基于“GPL”开源方式,风险比较大.在codeplex找 ...

  6. VB (空字串)、Null、Empty、与 Nothing 的区别

    VB (空字串).Null.Empty.与 Nothing 的区别 http://blog.sina.com.cn/s/blog_3f39ffb50100bguw.html 变量 A.B.C.D 分别 ...

  7. 《剑指offer(第二版)》面试题55——判断是否为平衡二叉树

    一.题目大意 输入一颗二叉树,判断该二叉树是否为平衡二叉树(AVL树). 二.题解 <剑指offer>上给出了两种解决方式: 1.第一种是从根节点开始,从上往下遍历每个子节点并计算以子节点 ...

  8. hadoop-n.x.y-src.tar.gz 、hadoop-n.x.y-src.tar.gz.asc 、hadoop-n.x.y-src.tar.gz.md5 、hadoop-n.x.y-src.tar.gz.mds是什么?

    不多说,直接上干货! 我这里,以hadoop-2.6.0为例. hadoop-n.x.y.tar.gz.mds,此mds文件是为了检验在下载和移动文件过程中文件的完整性. 通过验证文件的md5值去检验 ...

  9. js实现星空效果

    本次主要是来实现上面的星空效果:在黑色的背景下面,有大小不一的星星在闪烁,当鼠标悬浮时,星星放大并旋转. 首先,我们需要一个大的夜空容器和放星星的容器: <!DOCTYPE html> & ...

  10. SkipList理解

    记下自己对跳表SkipList的理解. SkipList采用空间换时间的思想,通过增加数据间的链接,达到加快查找速度的目的. 数据库LevelDB和RocksDB中用到了SkipList,Redis中 ...