监控系统发送告警邮件,我们自己搭建邮件服务器,成本较高,所以可以使用163等第三方MTA帮助我们发送。
MUTT+MSMTP是一个很好的选择,具体实现如下: tar -xvf msmtp-1.6.5.tar
cd msmtp-1.6.5.tar
源码安装三板斧
./configure --prefix=/usr/local/msmtp
make
make install cd /usr/local/msmtp/
mkdir etc #配置文件目录和配置文件需自己建
cd etc
vim msmtprc #手动创建配置文件
account default
host smtp.163.com #你的发送邮件服务器
from [email protected] #要从哪个邮箱发出
auth login #这里如果使用on的话会报 "msmtp: cannot use a secure authentication method"错误
tls off
user [email protected] #邮箱用户名
password passwd #邮箱密码,这里可是明文的,文件权限600,网易邮箱填写第三方客户端授权码
logfile /var/log/mmlog
 

先测试一下,随便输入一些内容用ctrl+d结束。然后到邮箱看看有没有收到,如果这里提示错误按照错误代码找原因,或者看看上面的日志文件
/usr/local/msmtp/bin/msmtp [email protected]

下面开始安装 MUTT

yum install mutt
安装完成后要手动给他建立一个配置文件

vim /etc/Muttrc
set sendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径
set use_from=yes
set realname="[email protected]"
set editor="vim"

测试:

echo "test" | mutt -s "测试" -a /etc/hosts [email protected]

然后我们就可以结合监控软件或自己写的监控脚本发送告警邮件了。

具体的mutt使用方法,这里就不做介绍了。

发送失败请检查:配置文件是否正确,收件人地址是否正确,主机能否到smtp.163.com 25端口等。

04-28 09:21