[root@ ~]# wget http://jaist.dl.sourceforge.net/project/msmtp/msmtp/1.4.32/msmtp-1.4.32.tar.bz2

百度网盘:http://pan.baidu.com/s/1o8w68ci

[root@ msmtp-1.4.]# pwd
/root/msmtp-1.4.
[root@ msmtp-1.4.]# mkdir -p /usr/local/msmtp/etc [root@ msmtp-1.4.]#./configure --prefix=/usr/local/msmtp --with-ssl=openssl [root@ msmtp-1.4.]# make && make install 配置msmtp [root@ msmtp-1.4.]# mkdir -p /usr/local/msmtp/etc vim /usr/local/msmtp/etc/msmtprc
account default
host smtp..com //SMTP服务器
port
from clnking@.com
auth login
tls off
user clnking //邮箱用户名 是clnking 而不是clnking@163.com
password xxxxxx #是授权码,而不是邮箱登录密码(授权码是用于登录第三方邮件客户端的专用密码)注意文章开头的图片
logfile /var/log/zabbix/msmtp.log //日志路径 测试msmtp
# cat /usr/local/msmtp/etc/msmtprc
account default
host smtp..com
port
from username01@.com
auth login
tls off
user username01
password xxxxx #这里不是客户端受权密码,并非邮箱的登录密码
logfile /var/log/mmlog
# cat /etc/Muttrc.local
# Local configuration for Mutt.
set sendmail="/apps/msmtp/bin/msmtp"
set from="clnking@163.com"
set use_from = yes
set editor="vim"
set realname="zabbix of XXXX.com" [root@ msmtp-1.4.]# /usr/local/msmtp/bin/msmtp lin.chen@xinxianm.com (邮箱必须是 /usr/local/msmtp/etc 里配置的邮箱)所以下面会报错!!(别的信箱也可以)
hello
ctl +d #发送
msmtp: the server did not accept the mail
msmtp: server message: DT:SPM smtp4,DtGowAAnErU7+ExXz+8hAQ--.9856S2 ,please see http://mail.163.com/help/help_spam_16.htm?ip=123.57.36.227&hostid=smtp4&time=1464662088
msmtp: could not send mail (account default from /usr/local/msmtp/etc/msmtprc)
后补:
[root@ etc]# yum install mutt
修改配置文件:
cat /etc/Muttrc.local
# Local configuration for Mutt.
set sendmail="/usr/local/msmtp/bin/msmtp"
set from="username01@163.com"
set use_from=yes
set editor="vim"
set realname="zabbix of xxxxx.com" [root@ etc]# echo "zabbix test "|mutt -s "chenlin" clnking@.com
[root@ etc]# echo "zabbix test "|mutt -s "chenlin" lin.chen@xinxianm.com
======================================================================================
[root@ msmtp-1.4.]# /usr/local/msmtp/bin/msmtp clnking@.com
kkkkkkkkkkkkk^[
但信箱里没内容
cat /var/log/mmlog
May :: host=smtp..com tls=off auth=on user=clnking from=clnking@.com recipients=clnking@.com mailsize= smtpstatus= smtpmsg='250 Mail OK queued as smtp4,DtGowADXJJQP+0xX0LciAQ--.5878S2 1464662820' exitcode=EX_OK 因为没有配置:MUTT [root@ msmtp-1.4.]# yum install mutt [root@ ~]# vi /etc/Muttrc
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set editor="vim"
set realname="clnking@163.com" [root@ ~]# echo "test mail 2016 content tom2" |mutt -s "test kkkkk" clnking@.com
进入邮箱 收到邮件 ------》测试成功!

脚本:

[root@86 alertscripts]# pwd
/usr/local/zabbix/share/zabbix/alertscripts
[root@86 alertscripts]# grep "AlertScriptsPath" /usr/local/zabbix/etc/zabbix_server.conf
### Option: AlertScriptsPath
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
[root@86 alertscripts]# cat send_mail
#!/bin/bash
echo "time:$(date +%m-%d-%H:%M:%S)" >>/var/log/zabbix/test.log
echo "p3_$3" >>/var/log/zabbix/test.log
echo "p2_$2" >>/var/log/zabbix/test.log
echo "p1_$1" >>/var/log/zabbix/test.log
/bin/echo "$3"| /usr/bin/mutt -s "$2" $1
echo "send end ..." >> /var/log/zabbix/test.log
echo "" >> /var/log/zabbix/test.log

#开始没成功不知道为什么后来做了以下操作,但当时还没成功 ,第二天成功了!

ln -s /usr/local/msmtp/bin/msmtp /usr/local/bin/msmtp
[root@86 alertscripts]# ps -ef|grep "zabbix_server"
zabbix 8734 1 0 03:00 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_server#并没有跟-c /usr/local/zabbix/etc/zabbix_server.conf
# echo "加邮件符件"|mutt -s fujian text@test.com -a /data1/apps/mail.txt
//邮件内容为"加邮件符件"
//主题为fujian
//如果需要发送多个人的话可以继续添加收件人
//mail.txt为附件(-a + 附件)
echo "加邮件符件"|mutt -s fujianxxxl@mail.com xxg@.com -a /data1/apps/mail.txt
// 同时发多人

经过一段时间的学习,对邮箱报警进行补全:

首先zabbix安装的时候是建的用户(/sbin/nologin)是不能使用bash或其它shell来登录系统,所以要改成/bin/bash

# grep zabbix /etc/passwd
#zabbix:x:::Zabbix Monitoring System:/var/lib/zabbix:/bin/bash
zabbix:x:::Zabbix Monitoring System:/home/zabbix:/bin/bash

查看各个文件的配置:

查看msmtprc的配置文件:

/apps/msmtp/etc

# cat msmtprc
account default
host smtp..com
port
from xx(发邮件的箱地址)@.com
auth login
tls off
user 1352xxx(手机号因为我用的是139邮箱)
password xxxxxx(邮箱密码)
logfile /var/log/mmlog

查看muttrc的配置文件:

# cat /etc/Muttrc.local
# Local configuration for Mutt.
set sendmail="/apps/msmtp/bin/msmtp"
set from="135xxx@139.com"
set use_from = yes
set editor="vim"
set copy=no #这个也是个关建,一定不要忘记
set realname="zabbix of xxxxx.com"

查看zabbix的配置文件:

# grep -E "(AlertScriptsPath|ExternalScripts)" /etc/zabbix/zabbix_server.conf
### Option: AlertScriptsPath
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
### Option: ExternalScripts
# ExternalScripts=${datadir}/zabbix/externalscripts
ExternalScripts=/usr/lib/zabbix/externalscripts

查看脚本:

# cd /usr/lib/zabbix/alertscripts/
# ls
Key send_mail
#这是我自己写的,目地是查的这个脚本执的过程,这样可以发现发题出在哪里,下面看看一下这两个文件内容:
echo "time:$(date +%m-%d-%H:%M:%S)" >>/var/log/zabbix/test.log
echo "$3" | /usr/bin/mutt -s "$2" "$1" >>/var/log/zabbix/test.log
echo "------------ok---------->$WHO" >>/var/log/zabbix/test.log
echo "p3_$3" >>/var/log/zabbix/test.log
echo "p2_$2" >>/var/log/zabbix/test.log
echo "p1_$1" >>/var/log/zabbix/test.log
#echo ----------> $ >>/var/log/zabbix/test.log
#echo "send end ..." >> /var/log/zabbix/test.log
#echo "" >> /var/log/zabbix/test.log # cat send_mail
#!/bin/bash
set -x
A=$
T=$
C=$
echo $A $T $C
/usr/lib/zabbix/alertscripts/Key "$A" "$T" "$C" >> /tmp/send.log >&
#这个才是一个创新,可以把脚本的执行过程从定向到/etc/send.log中
还有一点就是脚本的权限的问题,以定要给脚本可执行的权限,对于其它用户!!!

Zabbix利用msmtp+mutt发送邮件报警(公告:这文章有问题,还没有修改,2016-08-25)的更多相关文章

  1. Zabbix利用msmtp+mutt发送邮件报警

    操作系统:CentOS 7 Web环境:Nginx+MySQL+PHP zabbix版本:zabbix-2.4.8.tar.gz 邮件服务:msmtp-1.4.32.tar.bz2     #http ...

  2. msmtp+mutt发送邮件报警

    1).yum 安装 msmtp+mutt yum install -y msmtp mutt 2).配置Muttrc信息 vim /etc/Muttrc set sendmail="/usr ...

  3. 烂泥:ubuntu下配置msmtp+mutt发送邮件

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 本文主要介绍如何在Linux下使用msmtp+mutt发送邮件,当然Linux下发送邮 ...

  4. 【Linux】Zabbix + MPM + msmtp + mutt 监控MySQL + 邮件报警

    Zabbix部署参考博文 http://blog.sina.com.cn/s/blog_5611597901017oe0.html  MPM安装配置参考博文和MPM官网下载地址 http://blog ...

  5. CentOS7 msmtp+mutt发送邮件

    一.安装软件 # msmtp软件各版本下载地址:https://marlam.de/msmtp/download/ [root@--- ~]# wget https://marlam.de/msmtp ...

  6. L05-Linux部署msmtp+mutt发送邮件

    一.前言 首先,得明白发送一封邮件的流程,下面一段理论摘抄自廖雪峰的官网网站https://www.liaoxuefeng.com/article/00137387674890099a71c04005 ...

  7. zabbix利用mutt和msmtp配置邮件报警

    Mutt安装 yum –y install mutt msmtp安装 yum –y install openssl openssl-devel libntlm libntlm-devel cyrus- ...

  8. Zabbix使用外部邮箱服务器发送邮件报警

    本来是想自己写一篇文章的,但是看到发现网上有写的不错的,于是乎又抄别人的文章,作为记录. 使用外部邮箱来发生邮件明显好处就是防止其他邮箱服务器当垃圾邮件处理,另一方面能降低收邮件延迟. 下面开始进行使 ...

  9. zabbix使用sendEmail发送邮件报警

    sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bashperl和web站 ...

随机推荐

  1. 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

    http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...

  2. android加载大图片到内存

    1)演示效果: 1)代码演示: 布局代码: 权限配置:

  3. kaili linux中文乱码

    install kaili 用了kali,安装的英文版,一切都很爽,没有乱码 install chrome 不要用apt安装,也不要用chromium, 直接去网上找chrom的deb文件下来安装,注 ...

  4. Java初学(三)

    一.使用键盘录入数据 三步:1.导入包:import  java.util.Scanner; 2.创建键盘录入对象:Scanner sc=new  Scanner(System.in);   3.通过 ...

  5. hdu 1013 Digital Roots

    #include <stdio.h> int main(void) { int m,i;char n[10000]; while(scanf("%s",&n)= ...

  6. 汇文Libsys图书管理系统全版本权限绕过+getshell

    由于一个很低级的代码错误,导致可以登录Libsys任意图书系统后台,并且由于代码未做过滤可直接getshell. 该图书管理系统的用户量很大,全国很大一部分院校都在使用此系统.经测试3.5-5.0版本 ...

  7. 我所使用的一个通用的Makefile模板

    话不多说,请看: 我的项目有的目录结构有: dirls/ ├── include │   └── apue.h ├── lib │   ├── error.c │   ├── error.o │   ...

  8. php利用淘宝IP库获取用户ip地理位置

    我们查ip的时候都是利用ip138查询的,不过那个有时候是不准确的,还不如自己引用淘宝的ip库来查询,这样准确度还高一些.不多说了,介绍一下淘宝IP地址库的使用. 淘宝IP地址库 淘宝公布了他们的IP ...

  9. 关于js函数中的异步编程

    大家都说js 是单线程的应用,但是随着技术的发展,js的发展已经不仅仅局限于单线程了.因为现在很多都是异步了,所谓的异步,就是类似于ajax,写了一个回调函数,当我的服务还在这个地方的时候,等着他去排 ...

  10. 再谈对协变和逆变的理解(Updated)

    去年写过一篇博客谈了下我自己对协变和逆变的理解,现在回头看发现当时还是太过“肤浅”,根本没理解.不久前还写过一篇“黑”Java泛型的博客,猛一回头又是“肤浅”,今天学习Java泛型的时候又看到了协变和 ...