一、              使用msmtp这个命令行MUA     

(1)./configure --prefix=/usr/local/msmtp

(2)make

(3)make install

(4)mkdir /usr/local/msmtp/etc

(5)touch /usr/local/msmtp/etc/msmtprc

(6)/usr/local/msmtp/etc/msmtprc中写入如下内容:

defaults

account michael_zhou

host mail.zhousonglinux.com

domain zhousonglinux.com

from [email protected]

auth login

user [email protected]

password your_password

account default:michael_zhou

logfile /var/log/maillog

(7)测试一下:/usr/local/msmtp/bin/msmtp [email protected],输入内容后按ctrl+D发出。

二、    在实际测试中发现直接使用msmtp命令发出去的邮件会看不到发件人和主题,只能看到邮件内容,所以我使用mutt挂接在msmtp上,mutt默认会安装,如果没有安装请yum install mutt*

(1)修改mutt的配置文件/etc/Muttrc, 不是/etc/muttrc  M要大写

1set sendmail="/usr/local/msmtp/bin/msmtp"

2set use_from=yes

3set [email protected]  #发件人邮箱地址

4set editor="vi"

5.保存退出

(2)测试一下:echo "邮件报警测试" | mutt -s "测试[email protected]  #收件人地址

三、    创建 zabbix用于发送邮件的脚本,脚本放在什么位置随便,但是要保证zabbix能找到!

(1)vim /usr/bin/baojing,并写入如下内容:

#!/bin/bash

echo "$3" | mutt -s "$2" $1       # $3表示邮件内容、$2表示邮件标题、$1表示收件人

(2)chmod a+x /usr/bin/baojing

四、    zabbix配置

(1)创建meida types

1登录到zabbix进入“Administration" >> ”Media types"点击右上角“Create Media Type" Description填"mediatype-baojing"或其它名称,Type选择"Script",Script填”baojing”。

2.点击save保存


(2)创建actions

1. 登录到zabbix,进入"Configation" >> "Actions",点击右上角"Create Actions"。输入Name “action-baojing” ,其它都默认点击右侧“Action Operations"下的"New"按钮,"Operation Type"选择"Send message","Send Message to"选择一个或多个要发送消息的用户组,”Send only to"选择我们之前新增的mediatype-baojing。

2.点击save保存


(3) zabbix用户配置

 

登录到zabbix, 进入"Adimistration" >> "Users",在之前选定要发送消息的组里的Members栏位里选择一个用户,例如选择Admin用户。

 

在用户信息修改界面最下方的”Media"处点击"Add"按钮。

 

Type选择"mediatype-baojing",Send to填入收件人地址,点击Add添加。

 

点击"Save"保存配置。

 

至此配置完成,测试!

 

不光是zabbix,nagios等监控平台的邮件报警都可以这样配置。当然转到139邮箱的话可以收到短信的,会更加及时的收到报警。