azkaban在阿里云环境上无法收发邮件(无需编译)

azkaban 部署在阿里云环境上无法收发邮件,报错:connect time out
原因是azkaban发送邮件默认使用的是STMP 25端口,但是在阿里云上25端口是被禁用的. 所以需要将25端口换到465端口 采用SSL协议传输邮件(25端口是非SSl协议传输).

网上查了不少资料,都说需要改源码重新编译,觉得太麻烦,azkaban应该没有这么智障,一个网络端口还能给写死了?
azkaban-common\src\main\java\azkaban\utils\EmailMessageCreator.java里找到了如下代码:

public EmailMessageCreator(final Props props) {
    this.mailHost = props.getString("mail.host", "localhost");
    this.mailPort = props.getInt("mail.port", DEFAULT_SMTP_PORT);
    this.mailUser = props.getString("mail.user", "");
    this.mailPassword = props.getString("mail.password", "");
    this.mailSender = props.getString("mail.sender", "");
    this.tls = props.getString("mail.tls", "false");
    this.usesAuth = props.getBoolean("mail.useAuth", true);
}

azkaban在阿里云环境上无法收发邮件(无需编译)
也就是说邮件服务的端口是可以通过在配置文件里的mail.port配置的,到此问题解决。

上一篇:WEB安全新玩法 [4] 防护邮箱密码重置漏洞


下一篇:Python发送Html邮件(可发送图片)