一、安装配置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邮件服务器地址
host smtp.qq.com
#端口
port 25
# 发送的邮件Email
from [email protected]
auth login
# 邮件服务器登录账号
user [email protected]
# 邮件服务器登陆密码
password 123456
# Set a default account
account default : service
保存退出。
由于password是明码,所以我们需要修改此文件的权限 chmod 600 etc/msmtprc
6 测试
/usr/local/msmtp/bin/msmtp [email protected]
输入任意字符,然后按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="[email protected]"
set use_from=yes
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" [email protected]
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使用外部邮件服务器发送报警邮件
1.进入Administration->Media types
2.新建Media type
配置如下,Script name 要与之前写的发邮件的脚本名字相同
3. 进入Configure->Actions
新建Action
可以修改默认的邮件内容,以下是我修改之后的邮件内容格式:
添加step,别忘了点Add按钮,点上面的Add,再点下面的Add免得添加出错,注意要选择发送邮件给哪一个用户;并选择刚才定义好的Media type名字。
Default operation step duration 表示这次发送邮件后,下一次发邮件是在多少秒之后。
以上我总共添加了三次发送邮件的Action,如果触发器出发了,一直没有人确认触发器,则会发三次邮件,添加完后结果如下图:
4.进入Administration->Users
下图为修改admin的登录密码:
点击Media再添加
Type选择Send alarm email(之前创建的Action),并填写接收的邮箱,
至此用脚本实现用外部邮件服务器发送报警邮件的配置至此结束。