iojsioi 发表于 2018-1-2 06:09:32

基于sendEmail的简单zabbix邮件报警

  一.sendmail和sendEmail区别
  sendmail是一款邮件服务器软件(MTA),sendEmail是命令行SMTP邮件客户端(MUA)
  二.senEmail安装
  下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
  

#sendEmail解压后即可使用  
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz -P /download
  
tar xf /download/sendEmail-v1.56.tar.gz -C /download/tmp
  
cp /download/tmp/sendEmail-v1.56/sendEmail /usr/local/bin/
  

  

  测试能否成功发送邮件
  

/usr/local/bin/sendEmail -f "xiami@qsquant.com" -t "26?????877@qq.com" -s "smtp.mxhichina.com" -u "myTest" -o message-content-type=html -o message- -xu "xiami@qsquant.com" -xp "Q????234@" -m "hello,this is the test contents"  
#成功后提示下列内容
  Aug 24 14:50:26 sysqsquantop009 sendEmail: Email was sent successfully!
  

  

  *163邮箱、qq邮箱默认没有开启pop3/smtp/imap服务,若发件端为163或qq,执行将会出错,请先开启pop3/smtp/imap服务后再尝试
  命令说明

  

/usr/local/bin/sendEmail 命令主程序  

-f ttlsafrom@163.com发件人邮箱  

-s smtp.163.com       发件人邮箱的smtp服务器  

-u "我是邮件主题"   邮件的标题  

-o message-content-type=html   邮件内容的格式,html表示它是html格式  

-o message-charset=utf8      邮件内容编码  

-xu ttlsafrom@163.com          发件人邮箱的用户名  

-xp 123456               发件人邮箱密码  

-m "我是邮件内容"      邮件的具体内容  

  

--help          使用命令帮助  


命令说明  三.编写报警邮件发送脚本

  

#!/bin/bash  
#export LANG
=zh_CN.UTF-8  
to
=$1  
subject
=$2  
iconv
-f UTF-8 -t GB2312 $subject > $subject    #解决foxmail收邮件的时候中文标题乱码  
body
=$3  
from
=xiami@qsquant.com  
smtp
=smtp.mxhichina.com  

  

passwd=Q????234@  

/usr/local/bin/sendEmail-f "$from" -t "$to" -s "$smtp" -u "$subject" -o message-content-type=html -o message-charset=utf-8 -xu "$from"-xp "$passwd" -m "$body"  


sendEmail.sh  #chmod +x /opt/alertscripts/sendEmail.sh
  四.配置zabbix
  4.1 创建一个告警动作(参考笔者上一篇博客第七步http://www.cnblogs.com/xiami-xm/p/7323926.html)
  第一步:创建告警媒介操作稍有不同,不用设置smtp服务器,直接用脚本实现

  4.2 设置执行脚本路径
  

vim /usr/local/etc/zabbix_server.conf  
AlertScriptsPath=/opt/alertscripts 
  

  

#重启zabbix服务  
#ps -ef |grep zabbix_server|awk '{print $2}'|xargs kill -9
  
#/usr/local/sbin/zabbix_server 
  

  五.测试  
页: [1]
查看完整版本: 基于sendEmail的简单zabbix邮件报警