一、安装配置msmtp
1.下载msmtp
wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.30.tar.bz2?big_mirror=0
2.解压
tar -jxvf msmtp-1.4.30.tar.bz2
3. 进入msmtp文件夹
cd msmtp-1.4.30
4. 编译安装
./configure –prefix=/usr/local/msmtp
make && make install
5. 配置msmtp账号
切换到,cd /usr/local/msmtp
新建目录etc,mkdir etc
使用vi新建文件,输入:vi /usr/local/msmtp/etc/msmtprc ,编辑内容例如以下:
# Set default values for all following accounts.
defaults
logfile /var/log/msmtp.log
# The SMTP server of the provider.
account service
# SMTP邮件server地址
host smtp.qq.com
#port
port 25
# 发送的邮件Email
from xxx@xxx.com
auth login
# 邮件server登录账号
user xxx@xxx.com
# 邮件server登录password
password 123456
# Set a default account
account default : service
保存退出。
因为password是明码。所以我们须要改动此文件的权限 chmod 600 etc/msmtprc
6 測试
/usr/local/msmtp/bin/msmtp youremail@test.com
输入随意字符,然后按Ctrl+D退出。查看邮件是否收到。
因为设置了日志。能够到 /var/log/msmtp.log 。查看日志,发信成功失败都会有记录。
二、安装配置mutt
1、安装mutt
yum install mutt -y
2、编辑mutt配置文件
vi /etc/Muttrc 。编辑mutt的总设置。改动下面几行
set sendmail="/usr/local/msmtp/bin/msmtp"
set from="noreply@XXX.net"
set use_from=yes
set realname=noreply@XXX.net
set editor="vi"
发件地址最好与msmtp设置的账号同样,否则可能会出错。
以下以#开头的操作能够不做.
# vi ~/.muttrc , 编辑根文件夹下的设置
# set envelope_from=yes
# set from="发送邮件地址"
# set realname="发件人"
# set use_from=yes
3、測试一下mutt是否有效
echo "測试測试" | mutt -s "測试" 測试邮件地址
echo "test" |mutt -s "my_first_test" XX@XXX.com
zabbix发送邮件脚本路径
/maichuang/zabbix/share/zabbix/alertscripts
#vi /usr/bin/sendalarmemail
vi /maichuang/zabbix/share/zabbix/alertscripts/sendalarmemail
加入
#!/bin/bash
echo "$3" | mutt -s "$2" $1
改动权限
chmod a+x /maichuang/zabbix/share/zabbix/alertscripts/sendalarmemail
三、配置zabbix使用外部邮件server发送报警邮件
1.进入Administration->Media types
2.新建Media type
配置例如以下,Script name 要与之前写的发邮件的脚本名字同样
3. 进入Configure->Actions
新建Action
能够改动默认的邮件内容,下面是我改动之后的邮件内容格式:
加入step,别忘了点Addbutton,点上面的Add,再点以下的Add免得加入出错,注意要选择发送邮件给哪一个用户;并选择刚才定义好的Media type名字。
Default operation step duration 表示这次发送邮件后,下一次发邮件是在多少秒之后。
以上我总共加入了三次发送邮件的Action。假设触发器出发了,一直没有人确认触发器,则会发三次邮件,加入完后结果例如以下图:
4.进入Administration->Users
下图为改动admin的登录password:
点击Media再加入
Type选择Send alarm email(之前创建的Action),并填写接收的邮箱,
至此用脚本实现用外部邮件server发送报警邮件的配置至此结束。