# 源码安装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)的更多相关文章

  1. SQL中利用脚本创建database mail.

    SQL中利用脚本创建database mail   编写人:CC阿爸 2014-6-14 多话不讲,请参考以下脚本 use  

  2. Java - JavaMail - 利用 JavaMail 发邮件的 小demo

    1. 概述 面试的时候, 被问到一些乱七八糟的运维知识 虽然我不是干运维的, 但是最后却告诉我专业知识深度不够, 感觉很难受 又回到了一个烦人的问题 工作没有深度的情况下, 你该如何的提升自己, 并且 ...

  3. 用VBS脚本发邮件

    需求是这样的:针对账号的管理,如果发现该账号的管理员给账号加了批注,(比如要过期,修改密码,完善资料等),就需要找到这样的账号及其管理的邮件,然后发邮件给他们的管理员同时抄送给账号以达到提醒的目的.那 ...

  4. CentOS6.4 利用sendEmail发邮件

    1.下载安装sendEmail wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar z ...

  5. python 利用 smtplib发邮件

    import smtplib from email.mime.text import MIMEText title = "request build error" content ...

  6. python smtp 发邮件 添加附件

    # -*- coding:utf-8 -*- # __author__ = 'justing' import os import smtplib from email.mime.multipart i ...

  7. [转]简单三步,用 Python 发邮件

    https://zhuanlan.zhihu.com/p/24180606 0. 前言 发送电子邮件是个很常见的开发需求.比如你写了个监控天气的脚本,发现第二天要下雨,或者网站上关注的某个商品降价了, ...

  8. linux mail利用外部邮箱地址发邮件

    mail命令发送邮件需要sendmail或postfix服务 三种常用格式发信 mail -s "标题" xxx@xxx.xxx #第一种方法,你可以把当前shell当成编辑器来用 ...

  9. 在Windows下利用php自带的mail函数发邮件

    这几天看<Head First PHP & MySQL>,里面有发邮件的例子是用系统自带的mail函数发送的,自己照书上写的试了一直不成功,后来终于在网上找到解决方案,现在总结下. ...

  10. shell中mail发邮件的问题

    今天为了监控一下脚本,按照网上说的利用mail 发邮件,mail -s "error预警2" peien@1221.qq.com<'邮件内容',发现出现cc,不知道啥问题,也 ...

随机推荐

  1. 兴达易控Modbus转Profinet 网关连接 ACS510 变频器配置案例

    案例简介: 该案例为兴达易控Modbus转Profinet网关(XD-MDPN100)将ABB ACS510 变频器接入西门子 1200PLC.需要设备为西门子 PLC1200.ACS510 变频器. ...

  2. MySQL系列之MyCat——架构图、准备、安装、配置文件、垂直分表、MyCAT核心特性——分片(水平拆分)、范围分片、枚举分片、Mycat全局表、E-R分片

    文章目录 1. MyCAT基础架构图 2. MyCAT基础架构准备 2.1 环境准备: 2.2 删除历史环境: 2.3 创建相关目录初始化数据 2.4 准备配置文件和启动脚本 2.5 修改权限,启动多 ...

  3. C/C++中的ACM题目输入处理——简单易上手

    这里就不按其他文章的以各种情况为分类方法,而是以方法本身为分类办法.因为有一些方法是不同情况通用的,比如已知数量数字的输入和未知数量数字的输入,其实可以用同一种办法. 输入 C/C++ :scanf正 ...

  4. Android Kotlin 协程初探

    1 它是什么(协程 和 Kotlin协程) 1.1 协程是什么 维基百科:协程,英文Coroutine [kəru'tin] (可入厅),是计算机程序的一类组件,推广了协作式多任务的子程序,允许执行被 ...

  5. 记一次 openSUSE Tumbleweed 下安装 k8s

    出现的问题 因为没有K8s基础的而踩了不少坑. kubeadm kubelet 最好指定版本安装,因为kubelet的版本需要小于等于kubeadm的版本,否则就会报错. 运行 kubeadm ini ...

  6. Python 既是解释型语言,也是编译型语言

    哈喽大家好,我是咸鱼 不知道有没有小伙伴跟我一样,刚开始学习 Python 的时候都听说过 Python 是一种解释型语言,因为它在运行的时候会逐行解释并执行,而 C++ 这种是编译型语言 不过我今天 ...

  7. 又一个涵盖前后端+DevOps+OpenAI大模型的高并发项目启动了

    大家好,我是冰河~~ 今天,正式通知大家一件事情:又到了启动新项目的时候,这也是 冰河技术 知识星球继 Seckill秒杀系统 项目后,又一个高并发实战项目.星球其他项目与专栏,大家可移步到冰河的个人 ...

  8. 实例讲解C++连接各种数据库,包含SQL Server、MySQL、Oracle、ACCESS、SQLite 和 PostgreSQL、MongoDB 数据库

    C++ 是一种通用的编程语言,可以使用不同的库和驱动程序来连接各种数据库.以下是一些示例代码,演示如何使用 C++ 连接 SQL Server.MySQL.Oracle.ACCESS.SQLite 和 ...

  9. 后台获取的map集合封装json

    let list = [] let arr = {'a':'1','b':'2','c':'3','d':'4'} for(var key in arr){ console.log("key ...

  10. 在路上---学习篇(一)Python 数据结构和算法 (5)二分查找、二叉树遍历

    独白: 利用算法进行查找指定元素,最近学习二分查找和二叉树遍历.二分查找前提是在有序中进行查找,二叉树引入了树的概念.树的概念其中有许多小知识点,也是一种新的数据结构.还是之前的感悟,需了解其本质才会 ...