开启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}


关闭服务测试

