分类
未分类

debian zabbix4 使用外部smtp(gmail)发送告警邮件

安装heirloom-mailx

apt-get install heirloom-mailx

申请证书 使用gmail邮箱发件 需要在gmail账户安全设置中开启允许不安全应用

mkdir -p /root/.certs/
apt-get install libnss3-tools
echo -n | openssl s_client -connect smtp.gmail.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/mail.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/mail.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/mail.crt
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs -i ~/.certs/mail.crt
certutil -L -d /root/.certs

在配置文件 /etc/s-nail.rc 中底部加入自己的smtp信息

set from=xxxx@gmail.com
set smtp=smtps://smtp.gmail.com:465
set smtp-auth-user=xxxx@gmail.com
set smtp-auth-password=xxxx
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

保存后测试发件

echo test | s-nail -s "testtitle" bbbb@gmail.com

此时gmail会提示拦截未知登录,需要允许后再去修改一次密码 ,然后更新新密码到配置文件中,再次执行测试邮件,邮件就可以正常收到。

接下来 新建一个报警通知脚本 (自带的email类型是个坑 应该是只能使用内网smtp服务器 需要用s-nail和脚本来实现外网smtp)

vi /usr/lib/zabbix/alertscripts/mailx.sh

#!/bin/bash
echo "$3" | s-nail -s "$2" $1

然后在zabbix中新建一个报警媒介,类型选择脚本,名称为/usr/lib/zabbix/alertscripts/「mailx.sh」

然后点击右上角用户图标-报警媒介 添加需要通知的邮箱和报警规则 更新即可

发表评论

邮箱地址不会被公开。 必填项已用*标注