zabbix通过msmtp+mutt调用第三方邮件服务器发送邮件
zabbix怎么部署这里就不介绍了。可以在我的博客中搜索zabbix
一. 本处需要用到msmtp的tar包,接下来开始下载并配置msmtp
# yum -y install mutt
# cd /tmp/src
# wget http://garr.dl.sourceforge.net/project/msmtp/msmtp/1.4.31/msmtp-1.4.31.tar.bz2
# tar xf msmtp-1.4.31.tar.bz2
# cd msmtp-1.4.31
# ./configure --prefix=/usr/local/msmtp
# make && make install
# mkdir -p /usr/local/msmtp/etc
# vim /usr/local/msmtp/etc/msmtprc
### 添加以下内容:
defaults
account zabbix
host mail.163.com
from zabbix@163.com
auth login
port 25
tls off
user zabbix@163.com
password 123
account default:zabbix
logfile /usr/local/msmtp/log/msmtp.log
# vim /root/.msmtprc
host mail.163.com
tls off
auth login
from zabbix@163.com
user zabbix
password 123
# vim /root/.muttrc
setsendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set from=zabbix@163.com
set envelope_from=yes
# mkdir -p /usr/local/msmtp/log
# touch /usr/local/msmtp/log/msmtp.log
#
# vim /etc/Muttrc
修改为:
setsendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname=zabbix@163.com
set editor=”vi”
set copy=no
测试:
#test@163.com 这个是接收测试邮件的邮箱 你可以设置成自己的其他 例如qq邮箱等接受你的测试邮件
echo "Email" |mutt -s"test" test@163.com
二 . 配置zabbix server
将AlertScriptsPath=${datadir}/zabbix/alertscripts 行的注释取消,编写发送Email的脚本。
# vim/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#####输入以下内容:
#!/bin/bash
# $1 sendmail address
# $2 sendmail subject
# $3 file
echo "$3" | mutt -s"$2" $1
添加执行权限:
# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
配置zabbix 的web界面:
上文图片中有两项需要注意下:
1. Type 此处需要选择Script
2. Script name 此处需要填写所要调用的脚本的名字,之后保存即可
]