1、下载安装msmtp wget https://marlam.de/msmtp/releases/msmtp-1.6.7.tar.xz tar -xvJf msmtp-1.6.7.tar.xz ls cd msmtp-1.6.7 ./configure --prefix=/usr/local/msmtp make && make install 2、配置msmtp账号 cd /usr/local/msmtp mkdir etc #配置文件目录和配置文件都要自己建 cd etc 手动创建配置文件vi msmtprc # Set default values for all following accounts. defaults logfile /usr/local/msmtp/msmtp.log # The SMTP server of the provider. account default #你的发送邮件服务器 host smtp.126.com port 25 #要从哪个邮箱发出 from xxxx@126.com #这里如果使用on的话会报 "msmtp: cannot use a secure authentication method"错误 auth login tls off #邮箱用户名 user xxxx@126.com #邮箱用户名 #邮箱密码,这里可是明文的,如果你觉得不安全可以把文件改为600属性 password xxxxxxx # Set a default account account default: test Esc,shift : 进入命令模式,输入x,保存退出。 由于password是明码,所以我们需要修改此文件的权限 chmod 600 etc/msmtprc 3、测试 /usr/local/msmtp/bin/msmtp youremail@test.com 输入任意字符,然后按Ctrl D退出,查看邮件是否收到。 由于设置了日志,可以到 /usr/local/msmtp/msmtp.log,查看日志,发信成功失败都会有记录。 按ctrl d结束 但是它不能够发送附件,所以安装mutt 4、安装mutt vi /etc/Muttrc ,编辑mutt的总设置,修改以下几行 set from="发送邮件地址" set sendmail="/usr/local/msmtp/bin/msmtp" set use_from=yes set realname="发件人" set editor="vi" 发件地址最好与msmtp设置的账号相同,否则可能会出错。 5、测试一下mutt是否有效 echo "测试测试" | mutt -s "测试" 测试邮件地址 echo "testmail" |mutt -s "test" [-a /etc/hosts] test@163.com 这里的-a 是指添加附件,如果是多个附件的话就 多加几个 -a 文件名 可以使用mutt进行邮件备份等工作了,结合cron使用,可以实现的功能相当多。 6、创建zabbix自定义报警媒介脚本 vi /usr/local/zabbix/AlertScripts/testemail.sh #!/bin/bash echo "$3" | mutt -s "$2" $1 chmod 755 /usr/local/zabbix/AlertScripts/testemail.sh 7、创建示警媒体 点击管理-》 示警媒体类型 点击右上角的创建示警媒体类型 描述mail-test 类型 脚本 脚本名字:testemail.sh 选择添加 8、创建动作 然后点击 配置 -》动作-》再点击右上角的创建动作 名称action-mailtest 默认标题服务器{HOST.NAME}发生{TRIGGER.NAME}故障 选中恢复消息 恢复主题服务器{HOST.NAME},{TRIGGER.NAME}已恢复 点击 操作 新的 操作类型 送出消息 送出到用户 添加一个 Admin 仅送到 email-test 然后点击更新 保存
为管理员添加邮箱 然后 管理-》用户-》点击Admin 点击 示警媒体 点击添加 类型 email-test 收件人 test1@163.com zabbix3@163.com(后面可以写多个,以空格隔开,建议用139邮箱) 添加 在添加一个主机测试一下 发件箱 应用(检测ftp) 创建项目 配置 -》 主机 找到 192.168.0.201 点击 项目 点击 右上角的 创建项目 名称 ftp 键值 net.tcp.port[,21] 点击 存档 创建触发器 然后点击触发器 创建触发器 名称 ftp is down 表达式 {192.168.0.201:net.tcp.port[,21].last(0)}=0 严重性 严重 存档 添加操作 在配置 -》动作-》action-mailtest 点击操作 点击新的 操作类型 远程命令 目标列表 选择新的 找到 192.168.0.201 类型 ssh 认证方式 密码 用户名 root 密码 123456 端口 22 命令 service vsftpd restart 更新 存档 192.168.0.201 service vsftpd stop 结果 发件箱