1 系统自带mail方式

安装postfix,centos6.4自带,把服务启动即可

s1:添加媒介meidia types

zabbix------定义media媒介_zabbix media mail

s2:为用户绑定通知的media方式

zabbix------定义media媒介_zabbix media mail_02

s3:确保服务器上一定有该用户,本例为liuliancao

s4:自己定义触发器触发action检测一下,发现可以收到mail,如果有问题,打开audit-action查看或者去/tmp/zabbix_server.log查看

zabbix------定义media媒介_zabbix media mail_03

2 qq mail方式

关于自定义的mail方式

①使用本地zabbix发送给qqmail

方法差不多,我只把最重要的贴出来

s1:首先在你的qqmail设置中添加白名单,这一步每一个邮箱都需要设置,否则会有如下错误,在你本地发邮件的时候会有一封回来,退信

This is the mail system at host Zabbix-Server.localdomain.


I'm sorry to have to inform you that your message could not

be delivered to one or more recipients. It's attached below.


For further assistance, please send mail to postmaster.


If you do so, please include this problem report. You can

delete your own text from the attached returned message.


                   The mail system


<luqixue@qq.com>: host mx3.qq.com[183.57.48.35] said: 550 Mail content denied.

    http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000726 (in

    reply to end of DATA command)


s2:在/usr/local/zabbix/share/zabbix/alertscripts文件夹下建立一个mail.sh,内容如下

#!/bin/sh

echo "$3" > /tmp/mail.txt

sed -i "s#^M##g" /tmp/mail.txt

cat  /tmp/mail.txt|mail -s "$2"   $1

前两行是我想把linux的^M替换掉,否则怎么弄都是附件,大家可以试试吧,在此之前请确保你可以在本地机器发送给邮箱echo "test"|mail -s "test" xxx@xxx.com并在邮箱收到

然后在web界面media types选择添加媒介,选择脚本方式scripts,填上脚本名,再在User里面添加media,最后在action添加对应的media即可,具体我不多说了下面是邮件成功的截图

zabbix------定义media媒介_zabbix media mail_04

②其他mail都是一样的,只需要为用户add 一个media方式,send to改为你的mail地址即可

zabbix------定义media媒介_zabbix media mail_053 如何使用在系统中自己的mail发邮件给对应的主机

这一点好烦,我按照http://www.jb51.net/article/56973.htm这位大哥做会报错

# echo "hhaha"|mailx -s "luqixue's testst" liuliancao@126.com

Segmentation fault (core dumped)

其实比较取巧的方法是如果你想使用自己的mail为liuliancao@gmail.com

那么把hostname改为gmail.com,但是这样腾讯是不支持的,126可以...

比较方便的是通过sendmail发送邮件,这里我举个例子

#wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

#tar xf sendEmail-v1.56.tar.gz -C /usr/local

# ln -sv /usr/local/sendEmail-v1.56 /usr/local/sendEmail

# perl /usr/local/sendEmail/sendEmail -f luqixue@qq.com -t luqixue@qq.com -s smtp.qq.com -u "test about sendmail" -xu luqixue@qq.com -xp your passwd -m happy

如果不能发请去邮箱进行设置

所以通知脚本为out_mail.sh

/usr/bin/perl /usr/local/sendEmail/sendEmail -f luqixue@qq.com -t $1 -s smtp.qq.com -u $2 -xu luqixue@qq.com -xp your passwd -m $3

最终结果

我的手机有邮件了,不截图啦