在CentOS 7系統裏使用465端口發送郵件
安裝
#mailxyum install mailx -y
編輯 /etc/mail.rc 文件內容,追加以下內容(請替換其中的登錄用戶和密碼值):
set smtp="smtps://smtp.exmail.qq.com:465" #這是重點
set smtp-auth-user="[email protected]"
set smtp-auth-password="xxxx"
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
配置證書(註意:上面配置的nss-config-dir就是存放證書的路徑,可自定義
發送測試郵件
# echo "測試郵件"|mailx -v -s "標題" 123@456.com
4、使用mailx發送郵件
-s subject 郵件標題
-a file 添加附件
-v 顯示郵件發送詳細過程
-V 顯示
郵件內容可來源於管道、輸入重定向等,例如:
mailx -s "發件人名稱 郵件標題" [email protected] < message.txt
cat message | mailx -s "發件人名稱 郵件標題" [email protected]
echo "mail test message" | mailx -v -s " title" [email protected]
也可以直接從命令行輸入郵件內容:
mailx -s "發件人名稱 郵件標題" [email protected] ##輸入完後回車按Ctrl+D提交發送
多個收件人之間用逗號分隔:
cat message | mailx -s "發件人名稱 郵件標題" [email protected], [email protected], [email protected]
一個問題:
使用上面的配置,郵件是完全能夠發出去的,但是發送郵件的時候會提示 “Error in certificate: Peer’s certificate issuer is not recognized.”提示,運行以下命令生成一個證書即可。
# mkdir -p /root/.certs/
# cd /root/.certs/
獲取證書:
# echo -n | openssl s_client -connect smtp.exmail.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
檢查證書:
# certutil -L -d /root/.certs
修改配置
set nss-config-dir=/root/.certs
註意 :配置了證書沒起效
在CentOS 7系統裏使用465端口發送郵件