1. 程式人生 > >centos 6.8配置qq smtp郵件傳送

centos 6.8配置qq smtp郵件傳送

沒有域名嚴重的郵箱容易被伺服器認為是垃圾郵件,所以在伺服器中配置了qq郵件

yum install mailx

vi /etc/mail.rc

新增

set from=****@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=***@qq.com
set smtp-auth-password=******
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

/etc/pki/nssdb/是伺服器預設的證書位置,如果找不到的可以試試

locate -b "cert*.db"

傳送一個測試郵件試試(可以自己給自己發郵件)

echo -e "test"|mail -s "title" ***@qq.com

然後你會發現郵件傳送成功了,但是提示錯誤資訊

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

可以在在mail 後面加引數-v ,可以看到更詳細引數
從字面意思就是qq的證書不被認可,折騰了半天,最後的解決辦法如下

mdfind "kMDItemDisplayName=cert*.db"

找到證書資料庫(其他系統使用各自的系統方法,此為mac)
複製該路徑下db結尾的檔案到伺服器/root/.certs目錄下,

/Users/ht/Library/Application Support/Firefox/Profiles/mskbf7dx.default/*.db

certutil -L -d /root/.certs

可以看到該庫下的認證證書列表,但是實踐證明,這還不夠,繼續碼,

echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d
~/.certs -i ~/.certs/qq.crt certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt cd .. certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt echo -e "test"|mail -s "title" ***@qq.com

大功告成