admin管理员组文章数量:1558994
1、问题:azkaban配置好腾讯的企业邮箱作为邮件发送者,但是zakaban的web后台直接报错误,连接超时:
javax.mail.messagingexception: exception reading response;
13051- nested exception is:
13052- java.sockettimeoutexception: read timed out
13053: at com.sun.mail.smtp.smtptransport.readserverresponse(smtptransport.java:2210)
13054: at com.sun.mail.smtp.smtptransport.openserver(smtptransport.java:1950)
13055: at com.sun.mail.smtp.smtptransport.protocolconnect(smtptransport.java:642)
13056- at javax.mail.service.connect(service.java:295)
13057- at azkaban.utils.javaxmailsender.connect(javaxmailsender.java:34)
13058- at azkaban.utils.emailmessage.connecttosmtpserver(emailmessage.java:220)
13059- at azkaban.utils.emailmessage.retryconnecttosmtpserver(emailmessage.java:230)
13060- at azkaban.utils.emailmessage.sendemail(emailmessage.java:213)
13061- at azkaban.utils.emailer.sendemail(emailer.java:242)
因为腾讯的企业邮箱是用smtps协议,也就是ssl , 端口是465
2、查看源码:
azkaban mail.smtp.starttls.enable 只支持tls认证。
3、 需要在以下文件加入代码
azkaban-common/src/main/java/azkaban/utils/emailmessage.java中
在sendemail()方法里props的配置代码下加入以下几行代码:
import
java.security.security;
security.addprovider(new com.sun.ssl.internal.ssl.provider());
final string ssl_factory = "javax.ssl.sslsocketfactory";
props.setproperty("mail.smtp.socketfactory.class", ssl_factory);
props.setproperty("mail.smtp.socketfactory.fallback", "false");
props.setproperty("mail.smtp.socketfactory.port", "465");
效果如下图:
重新编译,部署即可用腾讯企业邮箱正常发邮件了。
我已经修改后的代码打包了,大家可以直接下载:
https://download.csdn/download/zsd_31/12619570
九游会下载的版权声明:本文标题:解决azkaban使用腾讯企业邮箱发邮件失败问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727422409a1113730.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论