# 阿裏雲ECS通過mail發送郵件
阿新 • • 發佈:2018-07-13
not geo Opens one rmi htm 阿裏雲 mod smtp服務 參考博文
面對疾風
因為阿裏雲默認將目的端口為TCP25的出現流量屏蔽了,所以改用465 ssl端口發送郵件。
yum安裝mailx
[Allen@iZm5eh331inajbk110g28mZ ~]$ yum install -y mailx ##yum安裝完mailx之後,/etc下會自動創建一個mail.rc的文件,在最下面追加如下內容即可。 [Allen@iZm5eh331inajbk110g28mZ ~]$ vim /etc/mail.rc ##對方收到郵件時顯示的發件人 set [email protected] ##指定第三方發郵件的smtp服務器地址 set smtp=smtps://smtp.163.com:465 ##第三方發郵件的用戶名 set smtp-auth-user=183xxxx2118 ##郵箱的密碼或授權碼(163郵箱需要指定授權碼) set smtp-auth-password=xxxxxx ##SMTP的認證方式,默認是login set smtp-auth=login ##忽略ssl的檢查 set ssl-verify=ignore ##指定證書所在的目錄 set nss-config-dir=/home/Allen/.certs
##此時直接發郵件會提示證書不被承認 [Allen@iZm5eh331inajbk110g28mZ ~]$ echo test | mail -s test [email protected] [Allen@iZm5eh331inajbk110g28mZ ~]$ Error in certificate: Peer‘s certificate issuer is not recognized. smtp-server: 454 Command not permitted when TLS active "/home/Allen/dead.letter" 11/301 . . . message not sent.
##創建目錄,用來存放證書 [Allen@iZm5eh331inajbk110g28mZ ~]$ mkdir -p /home/Allen/.certs/ ##向163申請證書 [Allen@iZm5eh331inajbk110g28mZ ~]$ echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p‘ > ~/.certs/163.crt depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA verify return:1 depth=1 C = US, O = GeoTrust Inc., CN = GeoTrust SSL CA - G3 verify return:1 depth=0 C = CN, ST = ZheJiang, L = HangZhou, O = "NetEase (Hangzhou) Network Co., Ltd", CN = *.163.com verify return:1 DONE ##添加一個證書到證書數據庫 [Allen@iZm5eh331inajbk110g28mZ ~]$ certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt ##添加一個證書到證書數據庫 [Allen@iZm5eh331inajbk110g28mZ ~]$ certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt ##列出目錄下的證書 [Allen@iZm5eh331inajbk110g28mZ ~]$ certutil -L -d /home/Allen/.certs/ Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI GeoTrust SSL CA C,, [Allen@iZm5eh331inajbk110g28mZ ~]$ ls /home/Allen/.certs/ 163.crt cert8.db key3.db secmod.db ##此時發送郵件還會報錯,因為證書不被承認 [Allen@iZm5eh331inajbk110g28mZ ~]$ echo "test" | mail -s test [email protected] [Allen@iZm5eh331inajbk110g28mZ ~]$ Error in certificate: Peer‘s certificate issuer is not recognized. smtp-server: 454 Command not permitted when TLS active "/home/Allen/dead.letter" 11/301 . . . message not sent. ##標記為信任 [Allen@iZm5eh331inajbk110g28mZ ~]$ cd .certs/ [Allen@iZm5eh331inajbk110g28mZ .certs]$ certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt Notice: Trust flag u is set automatically if the private key is present. ##沒有報錯解決問題 [Allen@iZm5eh331inajbk110g28mZ .certs]$ echo "test" | mail -s test [email protected]
普通服務器配置mailx發送郵件場景
[Allen@localhost ~]$ yum install -y mailx
[Allen@localhost ~]$ vim /etc/mail.rc
set [email protected]
set smtp=smtp.163.com
set smtp-auth-user=18310892118
set smtp-auth-password=0817LTBbtl
set smtp-auth=login
[Allen@localhost ~]$ echo test | mail -s test [email protected]
# 阿裏雲ECS通過mail發送郵件