zabbix 利用脚本发邮件(mail)
# 源码安装mailx
tar jxvf mailx-12.3.tar.bz2
make && make install UCBINSTALL=/usr/bin/install
#yum安装
yum -y install mailx #一般镜像文件都会有mailx
配置mailx #登陆163申请帐号和设置授权码(很简单的)
[root@zbx zabbix]# vim /etc/mail.rc
set smtp=smtp.163.com #中转站(由于qq需要做ssl认证,不推荐)
set from=邮箱账户@163.com #伪装发送人
set smtp-auth-user=邮箱账户@163.com #发送人
set smtp-auth-password=邮箱账户的授权码 #发送箱密码
set smtp-auth=login #认证方式(登陆)
# 发送测试邮件
[root@zbx zabbix]# echo "Hello" | mail -v -s "test" x.x.x.x@qq.com
Resolving host smtp.guohualife.com . . . done.
Connecting to x.x.x.x:smtp . . . connected.
220 smtp.aliyun-inc.com MX AliMail Server(x.x.x.x)
>>> EHLO zabbix_master
250-smtp.aliyun-inc.com
250-STARTTLS
250-8BITMIME
250-AUTH=PLAIN LOGIN XALIOAUTH
250-AUTH PLAIN LOGIN XALIOAUTH
250-PIPELINING
250 DSN
>>> AUTH LOGIN
334 dXNlcm5hbWU6
>>> emFiYml4QGd1b2h1YWxpZmUuY29t
334 UGFzc3dvcmQ6
>>> MTIzYWJjZCE=
235 Authentication successful
>>> MAIL FROM:<zabbix@xxxx.com>
250 Mail Ok
>>> RCPT TO:<x.x.x.x@qq.com>
250 Rcpt Ok
>>> DATA
354 End data with <CR><LF>.<CR><LF>
>>> .
250 Data Ok: queued as freedom
>>> QUIT
221 Bye
vim /usr/lib/zabbix/alertscripts/maillog.sh #编写邮件发送脚本(这里的3个变量需要在web页面设置内置的宏值)
注意#如果需要发邮件带附件在mail加上-a+文件名的参数(文件名最好用txt)
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | /usr/bin/mailx -s "${subject}" -a /etc/zabbix/scripts/deal_time/log/deal.txt $1 >>/usr/lib/zabbix/alertscripts/ybt.log 2>&1
-s 主题
-a (文件名) 发附件(最好用.txt结尾)
-c 抄送人(有多人之间用空格隔开)
****/tmp/sendmail.log该文件zabbix用户一定要有读写权限

#增加可执行权限
chown zabbix.zabbix /usr/lib/zabbix/alertscripts/maillog.sh
chmod a+x /usr/lib/zabbix/alertscripts/maillog.sh
zabbix web设置
根据环境使用的mailx,及在/usr/lib/zabbix/alertscripts/maillog.sh创建了一个脚本,每次触发都会调用maillog.sh,脚本maillog.sh中有3个变量对应下面的3个zabbix自带宏值。
媒介这块应该选用脚本类型
参数填写zabbix自带的宏值:
{ALERT.SENDTO}:发送人
{ALERT.SUBJECT}:主题
{ALERT.MESSAGE}:内容

指定新建或默认用户并对用户添加脚本及收件人邮箱

zabbix 利用脚本发邮件(mail)的更多相关文章
- SQL中利用脚本创建database mail.
SQL中利用脚本创建database mail 编写人:CC阿爸 2014-6-14 多话不讲,请参考以下脚本 use
- Java - JavaMail - 利用 JavaMail 发邮件的 小demo
1. 概述 面试的时候, 被问到一些乱七八糟的运维知识 虽然我不是干运维的, 但是最后却告诉我专业知识深度不够, 感觉很难受 又回到了一个烦人的问题 工作没有深度的情况下, 你该如何的提升自己, 并且 ...
- 用VBS脚本发邮件
需求是这样的:针对账号的管理,如果发现该账号的管理员给账号加了批注,(比如要过期,修改密码,完善资料等),就需要找到这样的账号及其管理的邮件,然后发邮件给他们的管理员同时抄送给账号以达到提醒的目的.那 ...
- CentOS6.4 利用sendEmail发邮件
1.下载安装sendEmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar z ...
- python 利用 smtplib发邮件
import smtplib from email.mime.text import MIMEText title = "request build error" content ...
- python smtp 发邮件 添加附件
# -*- coding:utf-8 -*- # __author__ = 'justing' import os import smtplib from email.mime.multipart i ...
- [转]简单三步,用 Python 发邮件
https://zhuanlan.zhihu.com/p/24180606 0. 前言 发送电子邮件是个很常见的开发需求.比如你写了个监控天气的脚本,发现第二天要下雨,或者网站上关注的某个商品降价了, ...
- linux mail利用外部邮箱地址发邮件
mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" xxx@xxx.xxx #第一种方法,你可以把当前shell当成编辑器来用 ...
- 在Windows下利用php自带的mail函数发邮件
这几天看<Head First PHP & MySQL>,里面有发邮件的例子是用系统自带的mail函数发送的,自己照书上写的试了一直不成功,后来终于在网上找到解决方案,现在总结下. ...
- shell中mail发邮件的问题
今天为了监控一下脚本,按照网上说的利用mail 发邮件,mail -s "error预警2" peien@1221.qq.com<'邮件内容',发现出现cc,不知道啥问题,也 ...
随机推荐
- Python 实现Word转PDF
通过将 Word 文档转换为 PDF,您可以确保文档在不同设备上呈现一致,并防止其他人对文档内容进行非授权修改.此外,在你需要打印文档时,转换为PDF还能确保打印输出的准确性.本文将介绍如何使用Pyt ...
- C++中::和:, .和->的作用和区别
符号::和:的作用和区别 ::是作用域运算符,A::B表示作用域A中的-名称B,A可以是名字空间.类.结构: 类作用域操作符 "::"指明了成员函数所属的类.如:M::f(s)就表 ...
- CUDA C编程权威指南:2.1-CUDA编程模型
本文主要通过例子介绍了CUDA异构编程模型,需要说明的是Grid.Block和Thread都是逻辑结构,不是物理结构.实现例子代码参考文献[2],只需要把相应章节对应的CMakeLists.txt ...
- 以效率为导向:用ChatGPT和HttpRunner实现敏捷自动化测试(二)
1.前言 在上一篇文章: 利用ChatGPT提升测试工作效率--测试工程师的新利器(一)中,我们提到了如何通过chatGPT生成单接口测试用例,然后再让chatGPT去根据测试用例去生成接口自动化脚本 ...
- 数据结构与算法 | 二叉树(Binary Tree)
二叉树(Binary Tree) 二叉树(Binary Tree)是一种树形数据结构,由节点构成,每个节点最多有两个子节点:一个左子节点和一个右子节点. public class TreeNode { ...
- Unity - UIWidgets 7. Redux接入(二) 把Redux划分为不同数据模块
参考QF.UIWidgets 参考Unity官方示例 - ConnectAppCN 前面说过,当时没想明白一个问题,在reducer中每次返回一个new State(), 会造成极大浪费,没想到用什么 ...
- JavsScript对密码进行Base64加密和Base64解密
const password = "hello"; // 进行Base64加密 let pwd64 = window.btoa(password); console.log(pwd ...
- java4.switch条件语句、循环结构
switch条件语句.循环结构 循环结构 while 1.先判断再执行代码 2.代码块至少执行0次 do-while- 1.先执行代码再执行判断 2.代码块至少执行1次 for 1.用于编写已知循环次 ...
- 昇腾迁移丨4个TensorFlow模型训练案例解读
本文分享自华为云社区<TensorFlow模型训练常见案例>,作者: 昇腾CANN. 基于TensorFlow的Python API开发的训练脚本默认运行在CPU/GPU/TPU上,为了使 ...
- 【scipy 基础】--插值
插值运算是一种数据处理方法,主要用来填补数据之间的空白或缺失值.因为在实际应用中,数据往往不是完整的,而是存在着空白或缺失值,这些空白或缺失值可能是由于数据采集困难.数据丢失或数据处理错误等原因造成的 ...