阿裏雲ECS服務器無法發送郵件
阿裏雲ECS服務器專用網絡無法發送郵件/郵件發送不出去?
發表:管理員 發表時間:2017-06-17 12:48:56 閱讀:(1100)次
有合作夥伴和渠道反映阿裏雲服務器ecs專用網絡下,無法發送email郵件,於是我們進行了測試和尋找解決方案,網絡上流傳很多版本,但是沒有那麽詳細,具體流程如下:
故障情況如下:
郵件發送請求時候,出現:Provisional headers are shown
[圖片]
排查故障幾個流程:
1、首先你得先看看你的阿裏服務器是經典網絡還是專有網絡,本文章主要適合於專有網絡的服務器,因為專有網絡的服務器禁止了郵件發件25號端口。
Centos本身又帶了2層防火墻,默認iptables這個是開啟的,需要自己去配置對應的開放端口(文章底部附帶開放端口截圖),另外selinux防火墻是需要進行關閉的(很少用到)
3、阿裏ecs專有網絡的服務器禁止了25號端口,那只能改用465端口來發件;
4、首先原來smtp服務器信息smtp.exmail.qq.com 改為 ssl://smtp.exmail.qq.com 也就是在原來基礎上,前面增加了ssl://;
5、修改phpweb路徑文件:includes/ebmail.inc.php,找到代碼47行
將25改為465 保存,測試發送完美解決。
[圖片]
附防火墻端口設置圖:
[圖片]
補充一下:
有用戶反饋,說mail命令,無法直接發送email,命令如下:
#echo "內容"|mail -s "標題" [email protected]
這個問題其實跟上面問題一樣,也是得改用ssl465端口來發郵件,
需要找到 mailx的配置文件在/etc/mail.rc
在配置文件中最後面添加下面的代碼(passwd寫開通smtp客戶端給的授權碼)
set ssl-verify=ignore
set smtp=smtp.163.com
set smtp-auth-user=username
set smtp-auth-password=passwd
set smtp-auth=login
set nss-config-dir=/etc/pki/nssdb/
以上添加好即可。
測試命令:#echo ‘內容‘ | mail -v -r ‘[email protected]‘ -s ‘標題‘ [email protected]
因為用的是默認系統證書,可能認證不通過,但實際不影響發件,可以忽略。
=======================
故障現象
[圖片]
阿裏雲封了25號端口,我們修改配置文件使用465端口來發郵件
[圖片]
該方法適用於阿裏雲centos6
解決辦法:
1 備份/etc/mail.rc 文件
cp /etc/mail.rc /etc/mail.rc.bak
2 修改/etc/mail.rc
在最後添加如下信息:
set ssl-verify=ignore
set smtp=smtp.exmail.qq.com
set smtp-auth-password=FlW881218#@!
set smtp-auth=login
set nss-config-dir=/etc/pki/nssdb/
3 測試
echo "cpu 使用率過高" |mail -s "cpu warning" [email protected]
結果:收到郵件,問題解決
[圖片]
阿裏雲centos7 無法發送郵件 使用如下方法
https://bbs.aliyun.com/read/302371.html?spm=a2c4e.11155515.0.0.FyGbyN
先執行下面操作:
借鑒:https://blog.csdn.net/djhsun/article/details/78731683
解決如下報錯:Error in certificate: Peer‘s certificate issuer is not recognized.
[圖片]
1 mkdir -p /root/.certs/
2 echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p‘ > ~/.certs/qq.crt
3 certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
4 certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs
5 vi /etc/mail.rc
set nss-config-dir=/root/.certs
6 cd ~/.certs/
7 certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
8 systemctl restart postfix
9 echo "testing" | mail -s "tth" [email protected]
1 備份/etc/mail.rc 文件
cp /etc/mail.rc /etc/mail.rc.bak
2 修改/etc/mail.rc
在最後添加如下信息:
set ssl-verify=ignore
set smtp="smtps://smtp.exmail.qq.com:465"
set smtp-auth-password=FlW881218#@!
set smtp-auth=login
set nss-config-dir=/root/.certs
阿裏雲ECS服務器無法發送郵件