linux mail 使用外部smtp服务器实现nagios邮件报警
2014-11-06 11:08
891 查看
sendmail、postfix都可以以自身做smtp服务器,来发送邮件,但是我们也可以不用去配置这些,直接用/bin/mail这个工具使用外部的smtp服务器来发送外域邮件。/bin/mail如果不使用smtp服务器,则只能给本机的用户发送邮件,而不能给其余域发送邮件。
下面的方法可以让你完全摆脱这两个工具...当然,你要是想做邮件服务器的话就令当别论了...你要是只想让服务器自动发个邮件什么的,用下面的就行了 通常的做法都是,关闭本机的sendmail服务或者postfix服务,
到底RHEL6和RHEL5下的mail和mailx又有着什么关系呢?
RHEL6下
mail 链接到 mailx 命令,mailx版本为12.4
# rpm -qa|grep mailx
mailx-12.4-6.el6.x86_64
# ll /bin/mail*
lrwxrwxrwx. 1 root root 5 7月 22 2011 /bin/mail -> mailx
-rwxr-xr-x. 1 root root 390424 2月 16 2010 /bin/mailx
# mail -V
12.4 7/29/08
RHEL5下,则发现了一些不同
mailx 链接到 mail 命令,mailx版本为8.1
# rpm -qa|grep mailx
mailx-8.1.1-44.2.2
# ll /bin/mail*
-rwxr-xr-x 1 root mail 84856 Jun 6 2007 /bin/mail
lrwxrwxrwx 1 root root 4 Apr 12 18:03 /bin/mailx -> mail
# mail -V 此处运行就会出错,没有-V这个参数
也就是说,在RHEL6\5下,运行mail 和mailx,实际上都是一个命令,而mail版本不同,导致了RHEL5下mail命令无法调用外部SMTP服务器。
安装mailx新版本可解决此问题。
下载地址:
代开这个网站。自己选一个下载地址
成功发送的话,就可以看到类似的提示 235 2.7.0 Authentication successful
配置好以上之后,
第一步:直接修改/usr/local/nagios/etc/objects/contacts.cfg
重启nagios service nagios restart即可。
下面的方法可以让你完全摆脱这两个工具...当然,你要是想做邮件服务器的话就令当别论了...你要是只想让服务器自动发个邮件什么的,用下面的就行了 通常的做法都是,关闭本机的sendmail服务或者postfix服务,
#执行下面的命令,各位大侠都对号入座吧 #sendmial service sendmail stop chkconfig sendmail off #postfix service postfix stop chkconfig postfix off #再狠一点就直接卸载吧.. yum remove sendmail yum remove postfix然后修改/etc/mail.rc,增加一下类似N行,指定外部的smtp服务器地址、帐号密码等。
1 # vi /etc/mail.rc 2 set from=123456@qq.com 3 set smtp=smtp.qq.com 4 set smtp-auth-user=123456 5 set smtp-auth-password=sbsbsbsb 6 set smtp-auth=login然后通过命令来发送邮件
echo hello word | mail -s " title" 123456@qq.com可是发现在RHEL6运行是没有问题,在RHEL5下,mail命令始终是调用本地的sendmail服务来发送邮件的。
到底RHEL6和RHEL5下的mail和mailx又有着什么关系呢?
RHEL6下
mail 链接到 mailx 命令,mailx版本为12.4
# rpm -qa|grep mailx
mailx-12.4-6.el6.x86_64
# ll /bin/mail*
lrwxrwxrwx. 1 root root 5 7月 22 2011 /bin/mail -> mailx
-rwxr-xr-x. 1 root root 390424 2月 16 2010 /bin/mailx
# mail -V
12.4 7/29/08
RHEL5下,则发现了一些不同
mailx 链接到 mail 命令,mailx版本为8.1
# rpm -qa|grep mailx
mailx-8.1.1-44.2.2
# ll /bin/mail*
-rwxr-xr-x 1 root mail 84856 Jun 6 2007 /bin/mail
lrwxrwxrwx 1 root root 4 Apr 12 18:03 /bin/mailx -> mail
# mail -V 此处运行就会出错,没有-V这个参数
也就是说,在RHEL6\5下,运行mail 和mailx,实际上都是一个命令,而mail版本不同,导致了RHEL5下mail命令无法调用外部SMTP服务器。
安装mailx新版本可解决此问题。
下载地址:
代开这个网站。自己选一个下载地址
1 http://www.filewatcher.com/m/mailx-12.4.tar.bz2.271482.0.0.html下载后
# tar jxvf mailx-12.4.tar.bz2 # cd mailx-12.4 # make # make install UCBINSTALL=/usr/bin/install查看mailx程序默认安装位置、及版本
# whereis mailx mailx: /usr/local/bin/mailx /usr/share/man/man1p/mailx.1p.gz # mailx -V 12.4 7/29/08安装后的mailx使用的是 /etc/nail.rc 配置,不是 /etc/mail.rc 这个需要注意下。vi编辑,按下G ,然后在行尾添加如下N行
# vi /etc/nail.rc (看出亮点了吗?) 2 set from=123456@qq.com 3 set smtp=smtp.qq.com 4 set smtp-auth-user=123456 5 set smtp-auth-password=sbsbsbsb 6 set smtp-auth=login然后通过命令来发送邮件
echo hello word | mailx -v -s " title" 123456@qq.com就收到邮件了.... 哥比较懒,就不给你截图了...反正我是收到了。
成功发送的话,就可以看到类似的提示 235 2.7.0 Authentication successful
>>> MAIL FROM:<demo@qq.com> 250 2.1.0 Ok >>> RCPT TO:<xxxxx@qq.com> 250 2.1.5 Ok >>> DATA 354 End data with <CR><LF>.<CR><LF> >>> . 250 2.0.0 Ok: queued as 9291963494 >>> QUIT 221 2.0.0 Bye
配置好以上之后,
第一步:直接修改/usr/local/nagios/etc/objects/contacts.cfg
重启nagios service nagios restart即可。
相关文章推荐
- linux mail 使用外部smtp服务器实现nagios邮件报警
- Zabbix 使用Linux本机或外部邮箱实现邮件报警设置
- Linux下配置mail使用外部SMTP发送邮件
- linux中mail/mailx使用外部smtp发送邮件
- 使用Nagios监控esx、esxi、vcenter 之 使用外部smtp服务器发送邮件告警
- Ubuntu 使用 heirloom-mail 调用外部邮箱 SMTP 服务器发送邮件
- linux mail使用外部smtp发送邮件
- Ubuntu 使用 heirloom-mail 调用外部邮箱 SMTP 服务器发送邮件
- Linux mail命令使用用其他SMTP服务器发送邮件
- Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现
- Linux学习笔记:使用外部SMTP发送邮件
- linux使用外部smtp发送邮件
- linux下设置SMTP服务器并用mail命令发送邮件精解
- Linux SendMail 使用外部SMTP服务发送邮件
- centos mail使用外部SMTP发送邮件
- Linux中使用shell+python实现监控系统负载+邮件报警
- Zabbix使用外部邮箱服务器发送邮件报警
- 如何在 Linux 上使用 Gmail SMTP 服务器发送邮件通知
- nagios服务器搭建实现对Linux和windows主机监控及短信报警
- LINUX下的mail\mailx为什么无法使用外部SMTP发邮件