生產環境下的mail命令 替代工具,第一款 msmtp
現在我們很多生產環境都已經再找更多的mail工具來替代了,今天就來測試第一款工具。
稍後放出第三款。
下載並安裝msmtp:
wget http://optimate.dl.sourceforge.net/project/msmtp/msmtp/1.4.31/msmtp-1.4.31.tar.bz2
tar -jxvf msmtp-1.4.31.tar.bz2 cd msmtp-1.4.31 && ./configure && make && make install
生成配置文件:
*** 注意修改裏面的發送內容:
vim .msmtprc
defaults logfile ~/.msmtp.log # 日誌存放位置 #163 email account 163 tls on auth on host smtp.163.com # 郵件服務器的smtp地址 port 25 # 服務器端口 from [email protected] # 郵件來自於哪個郵箱 tls_certcheck off user [email protected] # 發送郵件的郵箱用戶名 password # 發送郵件的郵箱密碼 account default : 163
defaults logfile ~/.msmtp.log # 日誌存放位置 #163 email account 163 tls on auth on host smtp.163.com port 25 # 服務器端口 from [email protected] # 郵件來自於哪個郵箱 tls_certcheck off user [email protected] # 發送郵件的郵箱用戶名 password # 發送郵件的郵箱密碼 account default : 163
修改 .msmtprc 權限
chmod 600 .msmtprc
vim /etc/mail.rc
set sendmail="/usr/local/bin/msmtp"
***修改之後mail命令就會調用msmtp 來發送郵件這點要特別注意。
***注意這樣修改以後mail的log不會寫在 /var/log/maillog上了,而是~/.msmtp.log
測試郵件內容:
mail -s "Test" [email protected] < httpd-check.log #將httpd-check.log裏面的內容作爲郵件正文發送
mail -s "httpd check" [email protected] </root/httpd-check.log
現在打開郵箱看看是不是已經收到了郵件?
在此命令上結合各種腳本,就能定時做很多事情得到通知了。