以网易邮箱为例,利用zabbix通过msmtp+mutt调用第三方邮件服务器发送邮件

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 此处需要填写所要调用的脚本的名字,之后保存即可

]