一般linux發送報警郵件通過本地郵箱或外部郵箱伺服器,我習慣使用本地郵箱發郵件,裝個sendmail安裝啟動,即可實作發送郵件功能,但會存在兩個問題:
1、發件人預設顯示主機名,有的會被郵件服務商當垃圾郵件處理,也可以使用mutt定義發件人解決這個問題,要麻煩一下。
2、發件延遲,正常的話,一分鐘之内可以收到,延遲大的話,幾個小時收不到也很正常,這樣一來運維工程師沒有及時收到告警郵件,耽誤問題處理及時性。
針對這兩個問題,用外部郵箱就可以解決,你隻需簡單注冊個國内的郵件服務商郵箱,如163,也可以使用公司郵箱,需要安裝mailx工具,mailx是一個小型的郵件發送程式,安裝很簡單,如下:
centos:
# yum install mailx
# vi /etc/mail.rc #添加郵件資訊
set [email protected] smtp=smtp.163.com
set [email protected] smtp-auth-password=123456
set smtp-auth=login
ubuntu:
# sudo apt-get install heirloom-mailx
# vi /etc/nail.rc #注意檔案名和centos不同
發送郵件測試:
# echo "this is test mail." |mail -s "test mail" [email protected]
提示:如果是qq郵箱,要設定郵箱開啟用戶端連接配接支援,設定-->賬戶-->開啟pop3/smtp服務