网上有很多配置发送邮件的文章,我这里只是写出自己动手配置的过程和遇到的问题,就当是给自己做个备忘录。
1.首先是在Linux上安装msmtp,我的Linux是centOS6.4,;(安装成功后在/usr/local/bin下有一个msmtp的可执行文件)
(1)下载 msmtp-1.4.31.tar.bz2
(2)安装:按如下命令一步一步来
tar jxvf msmtp-1.4.31.tar.bz2
cd msmtp-1.4.31
./configure
make
make install
(3)修改配置文件
--在/var/log/下新建log文件msmtp.log;
--用户目录下新建msmtprc文件(我的是在/home/zabbix/msmtprc),并在文件中写入内容:
******************************************
account zabbix
host smtp.163.com
port 25
from XXXX@163.com
auth login
tls off
user XXXX
password XXXX
account default zabbix
******************************************
--权限
chown zabbix:zabbix /var/log/zext_msmtp.log
chmod 0600 /home/zabbix/msmtprc
chown zabbix:zabbix /home/zabbix/msmtprc
--把msmtprc文件赋值一份放到/usr/local/etc 下
2.创建发送邮件的脚本sendMail.sh
脚本内容如下:
*********************************************
#! /bin/sh
exec 2>>/var/log/zext_msmtp.log
FROM='XXXX@mail.com'
MSMTP_ACCOUNT='zabbix'
# Parameters (as passed by Zabbix):
# $1 : Recipient
# $2 : Subject
# $3 : Message
recipient=$1
subject=$2
message=$3
date=`date --rfc-2822`
sed 's/$/\r/' <<EOF | /usr/local/bin/msmtp -C /home/zabbix/msmtprc --account $MSMTP_ACCOUNT $recipient
From: <$FROM>
To: <$recipient>
Subject: $subject
Date: $date
$message
******************************************
在zabbix的安装目录下新建一个alertscripts的文件夹,把sendMail.sh放在该文件夹下
权限:chmod 755 /usr/local/zabbix/alertscripts/sendMail.sh
chown -R zabbix:zabbix /usr/local/zabbix-2.0.6/alertscripts
3.修改/usr/local/zabbix-2.0.6/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix-2.0.6/alertscripts
4 在zabbix的web界面配置media type,脚本名称填写sendMail.sh
5.用户中添加示警媒体
6.创建action
a.添加条件
b.操作时发送邮件
当触发器被触发时就会向用户的邮箱中发送邮件