1. 程式人生 > >阿里雲ECS遮蔽25埠,官方建議使用465 SSL埠傳送郵件

阿里雲ECS遮蔽25埠,官方建議使用465 SSL埠傳送郵件

阿里雲ECS  VPC網路,搭建了zabbix,想通過三方郵件系統傳送郵件,本機開虛擬機器測試發郵件一切正常,到阿里ECS的時候郵件各種發不出去,到處找原因,最後度娘告訴了我真想,原來阿里把25埠遮蔽了。

嘗試解封,呵呵...繼續找度娘 谷哥,說是可以繞開25埠,用465埠,步驟如下(先不要操作,我在測試機上按一下步驟成功使用465傳送了郵件,但阿里雲上ECS貌似不需要這些步驟就可以直接使用465發成功):

1、請求數字證書(這裡使用126郵箱)

#建立目錄,用於存放數字證書

mkdir -p /root/.certs

#向126請求證書

echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/126.crt

列印如下內容:

depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = GeoTrust RSA CA 2018
verify return:1
depth=0 C = CN, L = Hangzhou, O = "NetEase (Hangzhou) Network Co., Ltd", OU = Mail Dept., CN = *.126.com
verify return:1
DONE

#增加一個證書到證書資料庫中

certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt

#再增加一個證書到證書資料庫中

certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt

#列出目錄中的證書

Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI

GeoTrust SSL CA C,,

 

2、126郵箱開啟smtp並獲取客戶端授權碼,以及設定客戶端授權密碼

步驟:設定--POP3/SMTP/IMAP  開啟

     客戶端授權密碼       開啟

3、若有如下報錯(證書不被信任)

Error in certificate: Peer's certificate issuer is not recognized.

解決辦法:

cd /root/.certs/

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 126.crt 

顯示內容:Notice: Trust flag u is set automatically if the private key is present.

4、如果以後要通過伺服器直接傳送郵件而不是通過zabbix來發郵件,可能會遇到一下問題,這裡也做下記錄:

革命先驅者:https://www.cnblogs.com/yunweis/p/8149242.html

發郵件報錯如下:

Error initializing NSS Unknown error -8015.
以root使用者就可以傳送,其他使用者不行。 (由於上面的文章介紹,生成的證書目錄放在了root下,這樣會導致其他使用者沒有可讀和執行許可權)
解決辦法是 將證書檔案目錄:certs/ 移動到一個755許可權的地方即可。如/etc下 一定要保證其他使用者有讀取和執行的許可權,否則其他使用者無法傳送郵件。

5、zabbix配置變更如下:

變更前:

變更後:

 

再次觸發報警,郵件傳送成功,以上步驟線下實測,結果OK。

但阿里雲ECS只將做了第5步調整,就成功傳送郵件。

 

未至精疲力盡,不要怨天尤人。昨日因,今日果。今日為,明日果也!