在linux 運維過程中,經常會寫一些指令碼監控一些伺服器的狀態,如監控redis 主從切換,redis 宕機等,當事件發生時,應該傳送郵件通知到相對應的管理員,因此就需要搭建郵件服務,使linux 能向外網郵箱傳送郵件.linux 下的郵件服務有很多,筆者使用的是mailx , 比較小巧,但也足足夠用了.同樣適用於centos系統

1. 下載

2. 安裝

    1. 解壓: tar -zxvf  heirloom-mailx_12.5.orig.tar.gz 

    2. 進入目錄:  cd  heirloom-mailx_12.5.orig

    3. 執行編譯:  sudo make

    4. 執行安裝: sudo make install UCBINSTALL=/usr/bin/install

  

    5. 安裝完成後會在/usr/local/bin 目錄下新增/usr/local/bin/mailx 命令,  會在/etc/ 新增 /etc/nail.rc 配置檔案

    

3. 配置郵件伺服器地址

    開啟/etc/nail.rc 檔案,在/etc/nail.rc 檔案中配置郵箱的相關資訊

set [email protected]
set smtp=smtp.163.com
set smtp-auth-user=User
set smtp-auth-password=password
set smtp-auth=login

    需要注意的是,所配置的郵箱必須開啟了stmp 服務, 筆者使用的郵箱是163的郵箱,此時此刻163郵箱登入策略已改變,如果要開啟stmp服務的話,客戶端登入時需要使用授權碼登入,而不再是登入密碼,除非你的登入密碼和授權碼一直,否則會報沒有登入許可權的錯誤

    

   163 郵箱開啟STMP 服務


4. 傳送郵件

 1. 最簡單的測試:sudo echo "hello,your linux mail is open" | mailx -s "hello test" [email protected]