nagios mutt+msmtp 收到不报警邮件

问题描述:

    1、/nagioshome/var/nagios.log文件中显示邮件已经发出

    2、root用户执行 echo "hello" |mutt -s "test"  [email protected] 可以正常发送

      su - nagios -c  ‘echo "hello" |mutt -s "test"  [email protected]‘ 同样可以正常发送

    3、nagios运行时发送的邮件收不到

解决思路:

    以上可以说明mutt+msmtp程序本身不存在问题,可能原因还是在nagios上,具体原因只能靠日志来分析,而nagios.log和系统

    日志里没有太多有用的信息,那么就自己想办法打印出相关的信息。

    msmtp命令参数中有一个“-d”的参数,可以详细输出发邮件整个过程的debug信息。

解决过程:

    修改/etc/Mutt配置文件

    

    同时修改nagios配置文件/nagioshome/etc/objects/commands.cfg,并重启nagios服务。

    

    此时打开nagios界面,发送一条自定义的信息,然后打开/tmp/nagios.log查看相关信息。以下是我遇到的错误

    

    到这里问题基本明了了。就是对文件没有写的权限,最简单的方法当然是改权限,但,这是root的目录,为了安全不建议把root的默认权限550改成其它,                       所以,要从sent的来源着手。

    修改/etc/Mutt配置文件,并手动在/var/log/下创建sent.log文件,赋予它777的权限或把有者改为nagios用户。

    

    至此问题已经解决。

    最后还原所有为测试修改的地方,完成邮件发送。

    

    

时间: 2024-10-03 13:45:47

nagios mutt+msmtp 收到不报警邮件的相关文章

ubuntu14.04+mutt+msmtp 配置 linux 下命令行邮件客户端

安装软件 msmtp mutt apt-get install -y msmtp mutt 配置 msmtp 安装完成之后先配置 msmtp,默认的配置文件根据每个操作系统版本不一样,通过msmtp --version 来查看. # msmtp --version msmtp version 1.4.31 Platform: x86_64-pc-linux-gnu TLS/SSL library: GnuTLS Authentication library: GNU SASL Supported

shell mutt msmtp 发邮件

cat mail.sh #!/bin/bash #-------------------------------------------------- # Created:2015-05-04 # Author:jimmygong # Mail:[email protected] # Function:shell mutt msmtp # Version:1.0 #-------------------------------------------------- [[ -e /lib/lsb/

今天收到报警邮件,提示网站502 bad gateway,

输入网站url后果然无法打开: 登录服务器查看nginx进程正常: 查看fastcGI进程已经停止运行了: 问题找到后就该查找是什么原因产生的问题,先把fastcGI进程启动后网站能够访问了再细找原因. 查看php日志 tail –n 1000 /usr/local/php/logs/php-fpm.log [Linux公社 http://www.linuxidc.com ] 找到报警时间点时的日志信息,其中高亮部分为问题所在,提示系统最大文件数为1024,而当前打开的文件数为1024,查看ph

使用mutt+msmtp在Linux命令行界面下发邮件(续)

换了新工作,好久没有更新博客了,今天继续.一年前写过一篇<使用mutt+msmtp在Linux命令行界面下发邮件>,但是最近想照着文中的办法解决新的问题时发现又有新的疑惑了,所以就有了今天这篇“续集”. 首先说说msmtp.如果你仅仅想在Linux下发送邮件,那么只靠它就能实现了,只需要配置好如何连接到相应的SMTP服务器即可,以下我就以腾讯企业邮为例,说一下具体的步骤(以下皆为root用户): 1. apt-get install msmtp 2. vi ~/.msmtprc &&a

mutt+msmtp做linux邮件客户端

这几天领导让我部署开发部门写的一个脚本,需要把脚本生成的附件通过email发到他的邮箱里面去.那就开始干吧,因为之前一直用mail 命令来发邮件,可是这次行不通了.因为要带附件.有人告诉我mail 命令也能带附件,可是我怎么也没找到相关的参数.可又不想搭个mail服务器,因为闲麻烦.   于是就开始在网上找简单又有效的命令行客户端,还真让我找到了.那就是MUTT+MSMTP,看到网上好多文章,拿出几个来照着做了做,结果报各种各样的问题.还是自己看看具体每个参数作用吧!   经过一番整理,去掉些没

使用mutt+msmtp在Linux命令行界面下发邮件

1. apt-get install mutt msmtp 2. ~/.muttrc & ~/.msmtprc 是当前用户的配置信息, 如果不加则会使用全局配置: /etc/Muttrc (msmtprc暂时找不到该文件, 不知为何?) 3. vi ~/.muttrc 在最后加上: set sendmail="/usr/bin/msmtp" set use_from=yes set realname="chen_dong" ##发件人名字 set from=

python脚本发送报警邮件

最近在搞把nagios报警邮箱换到163.sina这种免费邮箱上边,之前用过msmtp搞过也可以发送邮件,现在估计是他们系统都升级了,只能使用TSL加密连接,而msmtp怎么配置都配不通,无奈只能转移战术,正好最近在学习Python,也不知道从哪瞄到过有个email的模块,所以准备试试自己搞个脚本. (新手,无编程基础,希望多多指教) -----2016.1.4 修改---- 前提: 更改nagios/etc/object/command.cfg里发送邮件的command配置,例如我这样: # 

CentOS 6使用mutt+msmtp发送邮件

转:http://www.tuicool.com/articles/YRnQVfq CentOS系统下如果希望向外域发送邮件,需要配置sendmail+dovecot等一系列工具.其实不用这么麻烦,只要mutt+msmtp就可以实现向外域发送邮件的功能了.本文基于CentOS6 64bit. 1,安装配置msmtp $ yum install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn lib

使用Zabbix服务端本地邮箱账号发送报警邮件的部署记录

邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:[email protected]),只能发送,不能接收外部邮件.2)使用一个可以在互联网上正常收发邮件的邮箱账号(例如:[email protected]),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱.上面第2中使用外部邮箱发送报警邮件之前已经介绍了:分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署.下面说下