生产环境下的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
现在打开邮箱看看是不是已经收到了邮件?
在此命令上结合各种脚本,就能定时做很多事情得到通知了。