msmtp 是一个SMTP 客户端。
在默认情况下,它把邮件送给负责发邮件的SMTP 服务器(如:免费邮箱供应商)。
需要手工建立一个含邮件账号信息的配置文件。
此文章解决zabbix发邮件时,被邮件服务器拒收或者是一些其他原因收不到邮件,而专门配置的。若有不足之处,请多包涵。
一、下载zabbix和msmtp源码包(相关源码包)
有zabbix2.0和zabbix2.2
http://yunpan.cn/cLnMGSt7v2X4s 访问密码 956a
二、zabbix安装
zabbix安装手册在上面链接,此手册网上可以百度到,若有问题请留下问题。
三、源码安装msmtp(安装三部曲)
[root@newzqsoft ~]#tar -jxvf msmtp-1.4.30.tar.bz2
[root@newzqsoft ~]#cd msmtp-1.4.30
[root@newzqsoft msmtp-1.4.30]#./configure --prefix=/usr/local/msmtp
[root@newzqsoft msmtp-1.4.30]#make && make install
四、配置msmtp配置文件
[root@newzqsoft ~]#cd /usr/local/msmtp/
[root@newzqsoft msmtp]#mkdir etc
[root@newzqsoft msmtp]#cat etc/msmtprc
defaults
logfile /var/log/msmtp.log
account default
host smtp.qq.com # SMTP邮件服务器地址
port 25 # 端口
from [email protected] # 发送人的邮件Email,自己的qq邮箱
auth login
tls off
user [email protected] # 邮件服务器登录账号,自己的qq邮箱
password 密码 # 邮件服务器登陆密码
四(一)、QQ邮箱SMTP邮件服务器的配置(如果你用的不是qq邮箱,配置基本相同,但是发邮件不成功时,还是用QQ吧)
进入qq邮箱,---->设置--->账户
四(二)配置文件可基于用户创建,在用户的家目录下创建配置文件,例如:
zabbix用户:/home/zabbix/.msmtprc
root用户:/root/.msmtprc
配置文件中的msmtp账户要区分开,其他配置相同。
account zabbix或root
-------------------------------注意:此配置和全局配置冲突-----------------------
-----------------------------------献给不细心的朋友们---------------------------
五、创建日志文件
[root@newzqsoft ~]#touch /var/log/msmtp.log
[root@newzqsoft ~]#chown zabbix.root msmtp.log
[root@newzqsoft ~]#chown zabbix.root msmtprc
六、测试发送邮件
[root@newzqsoft ~]#/usr/local/msmtp/bin/msmtp [email protected]
六(一)报错:
若发送成功,日志显示OK,但是邮箱没有收到邮件,怎么办?
解决:你的smtp邮件服务器可能是163的或者是sina的,换成QQ的试试,若还不成,
请自己查找原因!
七、查看日志是否发送成功
[root@newzqsoft ~]#tailf /var/log/msmtp.log
八、报警脚本(此脚本乃网上摘抄,并验证)
[root@newzqsoft ~]#cat /usr/bin/msmtp.sh
#!/bin/bash
DEBUG=1
if [ $DEBUG -gt 0 ]
then
exec 2>>/var/log/msmtp.log
set -x
fi
FROM='[email protected]'
# 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/msmtp/bin/msmtp $recipient
From:<$FROM>
To:<$recipient>
Subject:$subject
Date:$date
$message
EOF
九、脚本路径配置,在zabbix_server.conf中添加路径,此步骤很重要,若缺少,找不到脚本。
AlertScriptsPath=/usr/bin
十、zabbix页面配置
十一、添加要收zabbix邮件的邮箱地址:在zabbix配置文件中有线索。
本文出自 “运维之道” 博客,谢绝转载!