1. 程式人生 > >在CentOS 7系統裏使用465端口發送郵件

在CentOS 7系統裏使用465端口發送郵件

centos7 mailx



  1. 安裝

    #mailxyum install mailx -y



  2. 編輯 /etc/mail.rc 文件內容,追加以下內容(請替換其中的登錄用戶和密碼值):

            1. set [email protected]

            2. set smtp="smtps://smtp.exmail.qq.com:465" #這是重點

            3. set smtp-auth-user="[email protected]"

            4. set smtp-auth-password="xxxx"

            5. set smtp-auth=login

            6. set ssl-verify=ignore

            7. set nss-config-dir=/etc/pki/nssdb

            8. 配置證書(註意:上面配置的nss-config-dir就是存放證書的路徑,可自定義

  3. 發送測試郵件

    # echo "測試郵件"|mailx -v -s "標題" 123@456.com


技術分享圖片

4、使用mailx發送郵件

-s subject 郵件標題

-a file 添加附件

-v 顯示郵件發送詳細過程

-V 顯示

mail(mailx)版本信息

郵件內容可來源於管道、輸入重定向等,例如:

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端口發送郵件