zabbix3.0 邮件警报采坑记录
利用sendEmail进行邮件发送
1、在server端下载安装包
# cd /usr/local/src/
# wget -c http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
# tar -zvxf sendEmail-v1.56.tar.gz
# cd sendEmail-v1.56
# cp -a sendEmail /usr/local/bin/
# chmod +x /usr/local/bin/sendEmail
2、安装依赖并测试
# yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
# /usr/local/bin/sendEmail -f ***@***.*** -t ***@*** -s ***.***.*** -u "=?UTF-8?B?`echo 我是邮件主题 | base64`?=" -o message-content-type=html -o message-charset=utf8 -xu ***@***.*** -xp *** -m "我是邮件内容" -l /var/log/sendMyEmail.log -o tls=no
命令说明:
/usr/local/bin/sendEmail
#命令主程序
-f xxx@xxx.xxx
#发件人邮箱
-t xxx@xxx.xxx
#收件人邮箱
-s xxx.xxx.xxx
#发件人邮箱的smtp服务器
-u “我是邮件主题”
#邮件的标题
-o message-content-type=html
#邮件内容的格式,html表示它是html格式
-o message-charset=utf8
#邮件内容编码
-xu xxx@xxx.xxx
#发件人邮箱的用户名
-xp xxx
#发件人邮箱密码
-m “我是邮件内容”
#邮件的具体内容
3、登录邮箱查看邮件是否接收成功
4、设置zabbix的sendemail邮件发送脚本
# vim /etc/zabbix/zabbix_server.conf #配置邮件脚本的路径
将conf文件中设置
AlertScriptsPath=/usr/lib/zabbix/alertscripts
# cd /usr/lib/zabbix/alertscripts
# cat sendmail.sh
进入脚本路径
创建并更改脚本内容
#!/bin/bash
#
# Filename: SendEmail.sh
# Description: zabbix邮件告警脚本
# Notes: 使用sendEmail
#
# 脚本的日志文件
LOGFILE="/tmp/Email.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1
SMTP_server='xxx.xxx.xxx' #SMTP服务器,变量值需要自行修改
username='xxx@xxx.xxx' #用户名,变量值需要自行修改
password='xxx' #密码,变量值需要自行修改
from_email_address='xxx@xxx.xxx' #发件人Email地址,变量值需要自行修改
to_email_address="$1" #收件人Email地址,zabbix传入的第一个参数
message_subject_utf8="$2" #邮件标题,zabbix传入的第二个参数
message_body_utf8="$3" #邮件内容,zabbix传入的第三个参数
# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
# 转换邮件内容为GB2312,解决收到邮件内容乱码
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
# 发送邮件
sendEmail='/usr/local/bin/sendEmail'
set -x
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312 -o tls=no
目录下有sendmail.sh后
# chmod 755 sendmail.sh
# touch /tmp/Email.log
# chown zabbix.zabbix /tmp/Email.log
# chown zabbix.zabbix sendmail.sh
5、测试邮件发送
# ./sendmail.sh xxx@xxx.xxx 主题 测试
这里为收件人邮箱,后续则为zabbix登录界面的配置。
参考链接:https://www.cnblogs.com/panwenbin-logs/p/7505311.html