jenkins配置邮件报错: authentication failed
问题: 配置jenkins自动发送邮件, 测试邮件发送的时候一致报错,如下:
Failed to send out e-mail
javax.mail.AuthenticationFailedException: 535 Error: authentication failed
at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:809)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:752)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:669)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:581)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
条件: 我的jenkins配置如下:
jenkins -> 系统管理 -> 系统设置
第一部分:
Jenkins Location
|
|||
Jenkins URL | |||
系统管理员邮件地址 |
第二部分:
|
|||
SMTP服务器 | |||
用户默认邮件后缀 | |||
用户名 | |||
密码 | |||
使用SSL协议 | |||
SMTP端口 | |||
Reply-To Address | |||
字符集 | |||
Test e-mail recipient | |||
|
注: 密码输入的是邮箱的登陆密码
猜测:更换为公司的邮箱就可以测试成功了,因此判定问题出在邮箱本身上,参照一下链接,猜测可能是用户名,密码的问题;以及记忆中似乎邮箱有个其他的密码,因此返回邮箱本身进行寻找
http://blog.****.net/huochen1994/article/details/51282093
验证:
1> 登陆163邮箱反复查找,查到以下位置
2> 163邮箱使用第三方邮件客户端(非163 web app:例如jenkins)登陆邮箱的时候,需要输入的passwd是授权码,不是登陆码;
3> 点击重置授权码 -> 邮箱发送重置授权码验证 -> 重置授权码,并记住授权码
4> jenkins中的passwd改为授权码则测试邮件发送成功
Test e-mail recipient | |||
|
后:据此扩展搜索了仅有authentication failed关键字的问题,找到了邮件设置授权码的详细介绍
https://www.zhihu.com/question/32009096/answer/72465824
http://blog.****.net/lk_blog/article/details/49536435
http://blog.****.net/u012661010/article/details/71946312 #自动化测试添加邮件发送