linux mutt 发邮件失败,Nagios+mutt+msmtp 无法发送邮件的问题!
最近用CentOS 6.3 x86_64 + Mutt 1.5.2. + Msmtp 1.4.27 + Nagios 3.2 搭建监控平台,碰见一个郁闷的问题,就是Mutt+Msmtp 在commands.cfg中无法发送邮件报警的问题。
问题描述:
单独使用mutt命令可以发送邮件,
例如: echo "This is a new mail." | mutt -s "new message" mymail@163.com
而在配置文件(commands.cfg)里面定义了命令,当主机和服务当掉,不能发送邮件。查看/usr/local/msmtp/etc/msmtp.log,没有任何的发送邮件日志。查看Nagios日志,发现命令已经执行,但是就是收不到邮件,Nagios日志代码如下
Feb 6 05:59:35 localhost nagios: SERVICE NOTIFICATION: nagios;mysql_server;check_slave;CRITICAL;notify-by-sms;ERROR!:The Slave Mysql Server Was Down!!!
Feb 6 05:59:36 localhost nagios: SERVICE NOTIFICATION: nagiosadmin;mysql_server;check_slave;CRITICAL;notify-by-sms;ERROR!:The Slave Mysql Server Was Down!!!
通过命令/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 检查配置文件,并没有错误报告,单独查看commands.cfg配置文件,也没有检查出错误,commands.cfg配置文件代码如下
define command{
command_name notify-by-sms
command_line /usr/bin/printf "%b" "***** Nagios-service *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mutt -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
define command{
command_name service-by-email
command_line /usr/bin/printf "%b ***** Nagios-host *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mutt -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
contacts.cfg配置文件中也正确,这个问题很是让人纠结啊,没有报错,就是在Nagios中无法发送报警邮件。后来通过查询资料了解,才知道Mutt会在家目录下生成一个sent的文件,你发送的记录都会写到此文件中,而我用的是root用户登录,nagios调用mutt后台执行,但是没有权限在sent文件中是写入数据,所以才会出现这个问题。
好了,问题根源找到了,解决也就好说多了,直接把/root目录 和/root/sent 给nagios写入权限,问题解决了。
linux mutt 发邮件失败,Nagios+mutt+msmtp 无法发送邮件的问题!相关推荐
- linux如何发邮件到外部邮箱
linux如何发邮件到外部邮箱 使用linux时,有时我们想发邮件给朋友或同事,可不可以通过命令行直接发呢? 想通过linux监控网站或者系统状况并自动报警,如何使用脚本发出邮件给外部邮箱呢? 不需要 ...
- linux发邮件失败,Linux SendMail发送邮件失败诊断案例,sendmail发送邮件
Linux SendMail发送邮件失败诊断案例,sendmail发送邮件 Linux上Sendmail经常由于一些配置问题,导致邮件发送失败,下面整理.收集了一些邮件发送失败.异常的案例. 案例1: ...
- linux mailx 发邮件
当需要服务器定时发送邮件到自己邮箱时,一个邮件服务就很重要了,以下主要是mailx的实现,主要是利用 1.安装mailx yum install mailx -y 2.使用到的配置文件只有一个,是 / ...
- linux git 发邮件,gitlab发邮件基于sendmail
gitlab发邮件基于sendmail 以前都是直接把邮件关了,今天有一哥们需要使用一直没弄好,我也帮忙弄,不得不说真TM是个坑!!! 卸载本地的postfix yum remove postfix ...
- python发邮件脚本_Python实现的简单发送邮件脚本分享
近来有些东西需要监控报警发邮件,然后在网上找了点材料,自己写了一个简单发送邮件的脚本,主要就是运用python的smtplib模块,分享给大家看一下: #!/usr/bin/env python # ...
- python发邮件详解_用Python3发送邮件详解
[整个邮件系统是怎样工作的] 邮件自互联网诞生之初就有了,它和web服务一样也是采用的c/s架构,比如我们常见的邮件客户端有outlook.foxmail这些邮件客户端软件. 当我们要发邮件时客户端就 ...
- phpmail通过qq发邮箱失败_php 利用qq邮箱发送邮件的实现
是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能. 项目地 ...
- Linux下配置用msmtp和mutt发邮件
Linux下可以直接用mail命令发送邮件,但是发件人是user@servername,如果机器没有外网的dns,其他人就无法回复.此时,有一个可以使用网络免费邮箱服务的邮件发送程序就比较重要了.ms ...
- linux mutt 收不到邮件,mutt 发邮件189邮件收不到邮件内容的解决办法
测试mutt报警但, 发现在发其他邮箱没有异常,就是发到电信189邮箱出现内容空白的问题, 后发到163邮箱发现为乱码 ,故想到是mutt配置问题: 在.muttrc文件中 set sendmail= ...
最新文章
- select的5中子句where,group by, havaing, order by, limit的使用顺序及实例
- BiGAN-QP:简单清晰的编码 生成模型
- Qt 中pro文件换行注意的问题
- libgdx和unity_libgdx和Kotlin –类[2D平台原型]
- 清华来了第二位菲尔兹奖得主,是丘成桐力荐的老朋友Caucher Birkar
- 永远不要放弃你所爱的人
- 谷歌详述 Zoom 客户端和MMR 服务器中的两个0day
- linux错误—3.解决设置普通用户的sudo权限中碰到的问题:sudo: /etc/sudoers is world writable...
- background的认识(一)
- 关于document.cookie的使用javascript
- Oracle 同音字查询,汉字的演变过程100字,汉字的演变图片
- Jon的Java程序员实习报告
- PAT乙级真题 1092 最好吃的月饼 C++实现
- java 获取本年月份、本月/本周所有日期
- WIN7常用使用设置
- kvm 虚拟机与宿主机通信
- 客户关系管理 数据库设计案例
- 全球与中国无线充电芯片市场深度研究分析报告
- Excel处理 中文转拼音缩写
- 原生app登录 后台方案(token方案)