一、安装配置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

zabbix 配置外部邮件server发送邮件报警_触发器 

 

2.新建Media type

 zabbix 配置外部邮件server发送邮件报警_发送邮件_02

 

配置例如以下,Script name 要与之前写的发邮件的脚本名字同样

 zabbix 配置外部邮件server发送邮件报警_发邮件_03

3. 进入Configure->Actions

 zabbix 配置外部邮件server发送邮件报警_.net_04

新建Action 

 zabbix 配置外部邮件server发送邮件报警_.net_05

能够改动默认的邮件内容,下面是我改动之后的邮件内容格式:

 zabbix 配置外部邮件server发送邮件报警_触发器_06

加入step,别忘了点Addbutton,点上面的Add,再点以下的Add免得加入出错,注意要选择发送邮件给哪一个用户;并选择刚才定义好的Media type名字。

Default operation step duration 表示这次发送邮件后,下一次发邮件是在多少秒之后。

zabbix 配置外部邮件server发送邮件报警_安装配置_07

 

zabbix 配置外部邮件server发送邮件报警_发邮件_08

以上我总共加入了三次发送邮件的Action。假设触发器出发了,一直没有人确认触发器,则会发三次邮件,加入完后结果例如以下图:

 zabbix 配置外部邮件server发送邮件报警_安装配置_09

 

4.进入Administration->Users

 zabbix 配置外部邮件server发送邮件报警_.net_10

 

zabbix 配置外部邮件server发送邮件报警_触发器_11

下图为改动admin的登录password:

zabbix 配置外部邮件server发送邮件报警_安装配置_12

 

点击Media再加入

zabbix 配置外部邮件server发送邮件报警_安装配置_13

 

zabbix 配置外部邮件server发送邮件报警_发送邮件_14

Type选择Send alarm email(之前创建的Action),并填写接收的邮箱,

 zabbix 配置外部邮件server发送邮件报警_触发器_15

至此用脚本实现用外部邮件server发送报警邮件的配置至此结束。