阿里雲 azkaban 發郵件的坑
azkaban : 是一個 任務排程平臺
安裝文件:
https://azkaban.readthedocs.io/en/latest/getStarted.html
因為阿里雲是禁止掉是STMP 25埠 ,只能用smtps協議,也就是ssl 465埠
檢視原始碼:
azkaban mail.smtp.starttls.enable 只支援tls認證。
需要在以下檔案加入程式碼:
azkaban-common/src/main/java/azkaban/utils/EmailMessage.java中
在sendEmail()方法裡props的配置程式碼下加入以下幾行程式碼:
import
java.security.Security;
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,即可在阿里雲上正常收發郵
模試:
單機模式:azkaban-solo-server
叢集模式:
azkaban-exec-server
azkaban-web-server
還需要安裝mysql
坑點: 必須在這個相對目錄啟動{azkaban-web-server}/build/install/azkaban-web-server