zabbix邮件报警以附件发送的解决方法

最近搭建了一个zabbix服务器,但是到邮件报警的时候出问题了,为什么发送老是发送个附件。脚本命令是echo "$3"|mail -s "$2" $1  应该是对着呢。

最后查了好多资料,实验了很多次,发现大致的原因。因为windows和linux的换行符不同导致的。

可以把附件file一下看到:

[[email protected] ~]# file tcmime.1953.1953.2321.bin

tcmime.1953.1953.2321.bin: UTF-8 Unicode text, with CRLF, LF line terminators

然后file 普通的文本文件

[[email protected] alertscripts]# file 1.txt

1.txt: UTF-8 Unicode text

使用vim 会显示附件的内容每行后面都有^M 。只要把这个^M去掉,然后发送的话就不会是附件的形式了。去掉^M可以使用dos2unix工具,yum直接下载个就行了。

有了思路然后把脚本修改成了:

#!/bin/sh

echo "$3" > /usr/local/zabbix/share/zabbix/alertscripts/1.txt

dos2unix /usr/local/zabbix/share/zabbix/alertscripts/1.txt

mail -s "$2" $1 < /usr/local/zabbix/share/zabbix/alertscripts/1.txt

然后自己创建个1.txt文件,注意所有者要改为zabbix:zabbix,然后进行测试发送发送的是内容了。

具体应该还有其他更简单解决的方法,说不定配置文件修改下就行,但是我不知道,现在只能这样用了。谁有其他的方法可以给我说下,谢谢了。

时间: 2024-08-01 11:24:21

zabbix邮件报警以附件发送的解决方法的相关文章

Python通过smtp服务发送电子邮件给指定用户(适用于Zabbix邮件报警)

当下免费的邮件服务很多,例如163企业邮箱.QQ企业邮箱等.不需要自己搭建邮件服务器发送邮件给指 定用户,只需要注册任何一个支持smtp协议的邮箱就可以实现发送邮件.发送邮件可以通过Linux命令.自己编写的Shell脚本,也可以通过Python写的Python脚本. 如下代码是一个简单却实用的示例.默认无参数执行时,发送预设的邮件主题和邮件内容到预设的用户.带参数执行时将指定的主题和邮件内容发送到指定的用户.带参数执行可用于Zabbix邮件报警脚本. 对于Zabbix2.x可以直接填写脚本名字

zabbix邮件报警发送至qq邮箱

zabbix邮件报警设置 第一.安装邮件发送工具mailx 这里我选择的是mailx,所以的关闭其他的邮件发送工具 service sendmail  start #开启,因为发送邮件需要开启25端口   chkconfig sendmail  off #禁止开机启动   service postfix  stop   chkconfig postfix  off 执行安装mailx的命令:yum install mailx 第二.配置Zabbix服务端外部邮箱 打开文件vi /etc/mail

05、zabbix邮件报警

Zabbix监控服务端.客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常,通过查看Zabbix监控服务器,可以了解服务器的运行状态是否正常,运维人员不会时刻登录Zabbix监控平台刷新,查看服务器的状态. 可以在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到设定的触发器预设值时,不管任何时候,会自动发送报警邮件.微信信息到指定的人员,运维人员收到信息有利于第一时间解决故障.Zabbix邮件报警设置步骤如下: 1) 设置邮件模板及邮件服务器 Administration

Zabbix邮件报警配置

一.安装sendmail或者postfix(安装一种即可) yum install sendmail                #安装 service sendmail start              #启动 chkconfig sendmail on                #设置开机启动 或者 yum install postfix service postfix start chkconfig postfix on 二.安装邮件发送工具mailx yum install m

zabbix 邮件报警(五)

一.sendEmail配置zabbix邮件报警 1.下载sendEmail: wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz 2.配置sendEmail: # yum -y install perl-Net-SSLeay perl-IO-Socket-SSL # 安装组件 # tar xf sendEmail-v1.56.tar.gz -C /usr/src/ # cd /usr/src

zabbix 邮件报警的配置

一.安装以及配置邮件服务 1.查看是否已经安装该服务 rpm -qa | grep mailx    //如果已经安装则无需再安装 2.安装 yum install mailx 3.修改以下配置文件 vim /etc/mail.rc 添加如下内容: set [email protected] smtp=smtp.qq.com               //填写自己邮箱的地址 set smtp-auth-user=用户名  smtp-auth-password=密码     //邮箱的用户名以及

zabbix 邮件报警设置

zabbix 邮件报警设置 1.创建报警类型 登陆到zabbix--------------管理-----------示警媒体类型的配置-------------创建示警媒体类型 2创建一个动作 选择配置----------动作-----------事件源选择触发器----------创建动作 1.添加一个zabbix报警用户 选择管理------------用户------------------创建用户

Outlook Express 收发邮件出现&amp;quot;0x800CCC0F&amp;quot;错误代码解决方法

非常多网友在使用Outlook Express收发邮件的过程中,有时能够发送邮件,但出现不能接收信件的问题.每次在收邮件都会在某个地方停止不动,然后报超时,出现错误代码0x800CCC19或0x800CCC0F等等,无法接收邮件. 主要是因为您安装了杀毒软件或者防火墙,而且开启了“发送和接收的邮件进行扫描”选项,所以杀毒这些软件阻挡.误诊断时,或者网速不稳定时可能就会出现此类报错,会把110(POP3)接收邮件port给关闭了. 解决方法: 关闭杀毒软件电子邮件扫描监控功能: 1.在杀毒软件的‘

解决zabbix邮件内容为附件

安装zabbix之后,设置邮件脚本报警的时候,发送的报警内容变成了tcmime.1278.1278.1724.bin或ATT00001.bin. yum -y install  mailx dos2unix     //安装mailx工具和dos2unix转换工具 以下是脚本内容: [root@localhost alertscripts]# cat sendmail.sh #!/bin/bash #export.UTF-8         //解决发送的中文变成了乱码的问题 FILE=/tmp