开启pop3/smtp/imap
安装mailx、sendmail、sendmail-cf
yum install s-nail-14.9.22-6.el9.x86_64 sendmail sendmail-cf
修改配置文件 /etc/mail.rc、/etc/php.ini
注意 php.ini 里面sendmail值会影响发送邮件
[root@zabbix-server mail]# vim /etc/mail.rc
set smtp-auth-user=fcj_xun@163.com
set smtp-auth-password=写自己的客户端授权码
set smtp-auth=login
启动 sendmail 服务
systemctl start sendmail
测试发送文件
echo "zabbix_test" | mailx -s "zabbix" 19147941771@163.com
网页查看
zabbix配置报警
登录 zabbix 页面
管理 --->报警 媒介 ---> 选择 Email ---> 克隆
选择消息模板只保留 问题和问题恢复
在zabbix服务端写邮件发送脚本
vim /usr/lib/zabbix/alertscripts/sendmail.sh
messages=$(echo $3 | tr '\r\n' '\n')
subject=$(echo $2 | tr '\r\n' '\n')
echo "{messages}" \| mailx -s "{subject}" $1 >>/tmp/sendmail.log 2>&1
创建 log日志文件、授权执行权限
touch /tmp/sendmail.log
chmod 777 /tmp/sendmail.log
chmod +x /usr/lib/zabbix/alertscripts/sendmail.sh
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/sendmail.sh
修改zabbix_server.conf文件
添加一行:AlertScriptsPath= /usr/lib/zabbix/alertscripts/sendmail.sh
测试脚本
/usr/lib/zabbix/alertscripts/sendmail.sh 19147941771@163.com "邮件标题" "邮件内容"
使用脚本方式创建报警媒介
指定报警用户
在admin用户里添加报警媒介
创建动作
配置 ---> 动作 ---> 创建动作
添加操作
第一个
主题:Problem:{EVENT.NAME}
问题:{EVENT.NAME} 主机:{HOST.NAME}
问题:{EVENT.NAME}
主机:{HOST.NAME}({HOST.IP})
告警级别:{EVENT.SEVERITY}
开始时间:{EVENT.DATE} {EVENT.TIME}
当前状态:{EVENT.OPDATA}
事件 ID:{EVENT.ID}
第二个
主题:Resolved:{EVENT.NAME}
问题已解决:{EVENT.NAME} 主机:{HOST.NAME}
问题:{EVENT.NAME}
主机:{HOST.NAME}({HOST.IP})
告警级别:{EVENT.SEVERITY}
解决时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.DURATION}
事件 ID:{EVENT.ID}
第三个
主题:Resolved:{EVENT.NAME}
消息:Problem has been resolved at {EVENT.RECOVERY.TIME} on
Problem name:{EVENT.NAME}
Host:{HOST.NAME}
Severity:{EVENT.SEVERITY}
Original problem ID:{EVENT.ID}
{TRIGGER.URL}
关闭服务测试