一.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-charset=utf-8 -xu "xiami@qsquant.com" -xp "Q????234@" -m "hello,this is the test contents"
#成功后提示下列内容
Aug 24 14:50:26 sysqsquantop009 sendEmail[12003]: Email was sent successfully!

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

命令说明

/usr/local/bin/sendEmail 命令主程序
-f ttlsafrom@.com 发件人邮箱
-s smtp..com 发件人邮箱的smtp服务器
-u "我是邮件主题" 邮件的标题
-o message-content-type=html 邮件内容的格式,html表示它是html格式
-o message-charset=utf8 邮件内容编码
-xu ttlsafrom@.com 发件人邮箱的用户名
-xp 发件人邮箱密码
-m "我是邮件内容" 邮件的具体内容 --help 使用命令帮助

命令说明

三.编写报警邮件发送脚本

#!/bin/bash
#export LANG=zh_CN.UTF-
to=$
subject=$
iconv -f UTF- -t GB2312 $subject > $subject #解决foxmail收邮件的时候中文标题乱码
body=$
from=xiami@qsquant.com
smtp=smtp.mxhichina.com passwd=Q????@
/usr/local/bin/sendEmail -f "$from" -t "$to" -s "$smtp" -u "$subject" -o message-content-type=html -o message-charset=utf- -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 

五.测试  

接收的告警邮件内容不换行怎么办?

sendEmail.sh脚本指定格式是html,所以用<br/>标签进行换行

嫌英文别扭的可以改为中文:

====================================================

# 默认接收人:

故障{TRIGGER.STATUS},服务器【{HOST.NAME1}】发生【 {TRIGGER.NAME}】故障!

====================================================

# 默认信息:

告警主机:{HOST.NAME1}<br/>

告警时间:{EVENT.DATE} {EVENT.TIME}<br/>

告警等级:{TRIGGER.SEVERITY}<br/>

告警信息: {TRIGGER.NAME}<br/>

告警项目:{TRIGGER.KEY1}<br/>

问题详情:{ITEM.NAME}:{ITEM.VALUE}<br/>

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br/>

事件ID:{EVENT.ID}<br/>

====================================================

# 恢复主旨:

恢复{TRIGGER.STATUS},服务器【{HOST.NAME1}】故障【 {TRIGGER.NAME}】已恢复!

====================================================

# 恢复信息:

告警主机:{HOST.NAME1}<br/>

告警时间:{EVENT.DATE} {EVENT.TIME}<br/>

告警等级:{TRIGGER.SEVERITY}<br/>

告警信息: {TRIGGER.NAME}<br/>

告警项目:{TRIGGER.KEY1}<br/>

问题详情:{ITEM.NAME}:{ITEM.VALUE}<br/>

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br/>

事件ID:{EVENT.ID}<br/>

  

  

  

基于sendEmail的简单zabbix邮件报警的更多相关文章

  1. 基于sendmail的简单zabbix邮件报警

    1.修改zabbix server hostname声明:在配置zabbix的Email报警之前,需要将sendmail使用的域名进行相应的修改,系统默认为localhost.localdomain, ...

  2. zabbix 邮件报警(五)

    一.sendEmail配置zabbix邮件报警 1.下载sendEmail: wget http://caspian.dotconf.net/menu/Software/SendEmail/sendE ...

  3. Zabbix邮件报警配置

    一.安装sendmail或者postfix yum install sendmail #安装 service sendmail start #启动 chkconfig sendmail on #设置开 ...

  4. Zabbix 邮件报警示例

     Zabbix 邮件报警示例: 1.编辑 mail.rc 文件添加默认的邮箱配置 # vi /etc/mail.rc set from=1234567@qq.com set smtp=smtp.qq. ...

  5. zabbix*邮件报警 *用户参数User parameters *定义key值 *Agentd主动模式与被动模式

    邮件报警 #下载安装邮件报警系统wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz yum - ...

  6. Zabbix邮件报警-->Script

    Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...

  7. zabbix邮件报警设置

    第一.安装邮件发送工具mailx 这里我选择的是mailx,所以的关闭其他的邮件发送工具 service sendmailstop #关闭   chkconfig sendmailoff #禁止开机启 ...

  8. centos7之zabbix邮件报警(短信报警)

    前言 前面我们介绍了zabbix的基本linux和window及SNMP流量的简单监控,我们知道作为运维人员,需要7x24小时待命,但是我们不可能时时刻刻都坐在电脑旁边查看监控上的各个主机状态,所以我 ...

  9. zabbix邮件报警通过脚本来发送邮件

    zabbix默认邮件报警会将各个报警接收人单独发送邮件,为了使邮件能以群发的方式统一一封邮件发送所有接收人,需要改成脚本的形式: sendemail.py: #!/usr/bin/python imp ...

随机推荐

  1. Python爬虫学习——使用selenium和phantomjs爬取js动态加载的网页

    1.安装selenium pip install selenium Collecting selenium Downloading selenium-3.4.1-py2.py3-none-any.wh ...

  2. springcloud-04-自定义ribbon的配置方式

    在dubbo项目中, zookeeper即注册中心帮我们实现了调度和负载均衡的能力, 这种方式被称为服务器端的负载均衡, springcloud中, 使用ribben实现的客户端负载均衡 什么是rib ...

  3. sublime text plugins

    Sublime Text 插件,HTML+CSS+JAVASCRIPT+JSON快速格式化:  htmlpretty 快捷键:Ctrl+Shift+H Essential Sublime Text 2 ...

  4. [原]Jenkins(十四)---jenkins示例:admin管理所有项目,新建用户只能看部分项目

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...

  5. [原]openstack-kilo--issue(十一)Failed connect to 169.254.169.254:80; No route to host

    本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡. # curl http://169.254.169.254/latest/use ...

  6. mysql格式化小数保留小数点后两位(小数点格式化)

    格式化浮点数的问题,用format(col,2)保留两位小数点,出现一个问题,例如下面的语句,后面我们给出解决方法 SELECT FORMAT(12562.6655,2); 结果:12,562.67 ...

  7. Oracle数据库入门——基础知识

    1.安装完成Oracle数据库后,使用sqlplus客户端登录数据库管理系统,只输入用户名,没有输入密码时,会提示口令为空,登录被拒绝. 请输入用户名:system 输入口令: ERROR:ORA-0 ...

  8. Angular 定时器$timeout和$interval,延时调用

    项目中有用到定时器定时刷新页面的数据,在网上查看了一些资料,整理了一下,备忘. $timeout 用法如下:$timeout(fn,[delay],[invokeApply]); fn:一个将被延迟执 ...

  9. java中Date与DateFormat的格式输出

    一.DateFormat java.text.DateFormat 使用 getDateInstance 来获取该国家/地区的标准日期格式.另外还提供了一些其他静态工厂方法.使用 getTimeIns ...

  10. 新复制行绑定JQuery.autocomplete事件

    在工作中经常需要生成动态增加行的表格,此次需要对表格中的文本框绑定autocomplete功能 操作流程: 表格初始时只有一行,当页面加载时执行先执行一次增加行功能,将行增加到10行 在$(funct ...