azkaban在阿里云环境上无法收发邮件

    azkaban代码是从gitHub上拉下来的,在本地上起是可以正常的收发邮件的,但是放在阿里云的环境上却无法收发邮件,报错:connect time out  

    通过看源码 发现原因是azkaban发送邮件默认使用的是STMP 25端口,但是在阿里云上25端口是被禁用的. 所以需要将25端口换到465端口 采用SSL协议传输邮件(25端口是非SSl协议传输).

    需要在以下文件加入代码:
azkaban-common/src/main/java/azkaban/utils/EmailMessage.java中

在sendEmail()方法里props的配置代码下加入以下几行代码:

		Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
	    final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
	    props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
	    props.setProperty("mail.smtp.socketFactory.fallback", "false");
	    props.setProperty("mail.smtp.socketFactory.port", "465");

    重新编译,部署时将配置文件中的mailPort改为465,即可在阿里云上正常收发邮件 .


猜你喜欢

转载自blog.csdn.net/weixin_42354330/article/details/80684760
今日推荐