出现这样问题的根本原因是因为zabbix对中文支持不太友好,乱码导致了邮件无法正常接收。
一、解决zabbix邮件内容为附件
1.安装发送邮件的mailx 以及windows文件转unix文件的命令 dos2unix
yum -y install mailx dos2unix //安装mailx工具和dos2unix转换工具
2.创建一个临时中转文件
touch /tmp/mailtmp.txt chown zabbix.zabbix /tmp/mailtmp.txt
3.zabbix 默认执行脚本路径 /usr/lib/zabbix/alertscripts 下 新建发送邮件脚本
#!/bin/bash #export.UTF-8 #使用utf8编码 FILE=/tmp/mailtmp.txt echo "$3" >$FILE #先将邮件内容覆盖追加到一个文件内 dos2unix -k $FILE #保持时间戳的格式不变进行转换 --keepdate /bin/mail -s "$2" $1 < $FILE
二、zabbix图中出现中文乱码问题
1.从windows下复制一个字体到 zabbix的web端的fonts目录下:/usr/share/zabbix/fonts
2..修改zabbix的web端/usr/share/zabbix/include/defines.inc.php
# 都设置成刚刚复制过来的中文楷体格式。
#define('ZBX_FONT_NAME', 'DejaVuSans'); define('ZBX_FONT_NAME', 'SIMKAI'); #define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); define('ZBX_GRAPH_FONT_NAME', 'SIMKAI');
修改完就可以正常收到zabbix发送告警邮件了 O(∩_∩)O