阿里雲經過465端口發送郵件繞過25端口

參考連接html

使用阿里雲ECS的站長們應該都知道阿里雲ECS爲了防止其服務器被當作垃圾郵件發送服務器禁止了郵件端口25的使用,這就形成系統級的提醒郵件沒法發送,相似Fail2ban、DDoS Deflate的重要暴力破解、DDOS攻擊提醒郵件有時候仍是很重要的,錯過了會給咱們的服務器運維工做帶來被動的,因此明月一直在謀求Linux系統郵件發送的問題解決。服務器

安裝和配置系統的mailx:

yum -y install mailx

安裝完成後,編輯/etc/mail.rc文件配置mailx使用QQ郵箱做爲發送郵件郵箱,在配置文件最後添加以下QQ郵箱配置便可:運維

set from=xxxxxx@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxxxxx@qq.com
set smtp-auth-password=你的QQ郵箱受權碼
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/opt/.certs

配置smstps

由於阿里雲ECS封禁了25端口,因此咱們只能使用TLS方式(TSL也就是使用SSL加密的方式,使用465或者其餘端口來發送郵件)繞過25端口需求來發送郵件,因此必須先得到郵箱的SSL證書並存放到本地,最後一行的nss-config-dir就是制定的存放QQ郵箱SSL證書的位置。測試

mkdir -p /opt/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /opt/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d  /opt/.certs -i /opt/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d /opt/.certs -i /opt/.certs/qq.crt
certutil -L -d /opt/.certs
chmod -R 777 /opt/.certs   #讓全部用戶均可以發郵件

爲了防止出現前文所說的發送郵件警告提示,還須要進入郵箱SSL證書存放目錄/opt/.certs裏執行以下命令:阿里雲

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

返回以下提示便可:加密

**Notice: Trust flag u is set automatically if the private key is present.**

至此,已經完成了mailx結合QQ郵箱發送系統郵件的部署了,經過命令行發送測試郵件試試吧:命令行

mailx -s "郵箱測試" xxxx@qq.com < message_file.txtcode

相關文章
相關標籤/搜索