1、問題描述
今天因爲服務需求,須要服務器須要發送郵件;可是不論用什麼辦法,發送郵件老是失敗;最終發現緣由:阿里雲實例服務器默認禁止了25端口;html
阿里雲回覆:vim
因爲國際與國內均對垃圾郵件進行嚴格管控,我國《互聯網信息服務管理辦法》、《中國互聯網協會反垃圾郵件規範》均對垃圾郵件進行說明與管理規範。 鑑於服務器25端口被大量垃圾郵件充斥,嚴重影響廣大用戶正常使用。爲了共同維護良好的網絡環境,自即日起阿里雲新購服務器再也不提供25端口郵件服務, 建議您嘗試使用465加密端口發送郵件。服務器
因此研究了一下465端口發送郵件網絡
2、使用465端口加密發送郵件
一、關閉其它的郵件工具
[root@along ~]# systemctl stop sendmail
[root@along ~]# systemctl stop postfix工具
二、安裝mailx
[root@along ~]# yum install mailxpost
三、開啓smtp
在任何郵箱平臺中開啓smtp,開啓後會獲得一個受權碼,這個受權碼就代替了密碼(自行去郵箱開啓)。我使用的是163郵箱測試
四、請求數字證書(這裏用的163郵箱,因此向163請求證書)
[root@along ~]# mkdir .certs阿里雲
[root@along ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /root/.certs/163.crt加密
[root@along ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d /root/.certs -i /root/.certs/163.crturl
[root@along ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt
[root@along ~]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d /root/.certs/./ -i /root/.certs/163.crt
Notice: Trust flag u is set automatically if the private key is present.
[root@along ~]# ls /root/.certs/
163.crt cert8.db key3.db secmod.db
[root@along ~]# certutil -L -d /root/.certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
GeoTrust SSL CA P,P,P
五、配置/etc/mail.rc
[root@along ~]# vim /etc/mail.rc
set from=xxx@163.com #以前設置好的郵箱地址
set smtp="smtps://smtp.163.com:465" #郵件服務器
set smtp-auth-user=xxx@163.com #以前設置好的郵箱地址
set smtp-auth-password=xxxx #受權碼
set smtp-auth=login #默認login便可
set ssl-verify=ignore #ssl認證方式
set nss-config-dir=/root/.certs #證書所在目錄
六、發送郵件測試
[root@along ~]# echo "郵件正文" | mail -s "郵件主題" xxx@qq.com
郵件發送成功