最近搭建了一个Nagios的监控系统,主要是为了监控其他机器上的服务

但是搭建完毕后需要有报警的时候通知我,好及时解决问题,网上查了一下觉得还是用sendmail发送比较靠谱,但是我首选邮箱是139邮箱,因为139邮箱有短信通知,其他的比如163短信通知还收费呢,所以就选他了,经济实惠:

  1. 首先需要安装sendmail

    # yum -y install sendmail*

  2. 修改:# vi /etc/hosts

    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

    127.0.0.1       monitor.nagios.cms   localhost.localdomain    localhost

  3. 修改:# vi /etc/mail/access

    Connect:localhost.localdomain           RELAY

    Connect:localhost                       RELAY

    Connect:127.0.0.1                       RELAY

    Connect: monitor.nagios.cms              RELAY

  4. 修改:# vi /etc/mail/local-host-names

    monitor.nagios.cms

  5. 重启sendmail

    # /etc/init.d/sendmail restart

  6. 如果启动比较慢可能是因为postfix占用了25端口,把postfix进程杀死,再次启动sendmail

  7. 如果还是比较慢那么修改hostname

    # hostname monitor.nagios.cms

  8. 重启sendmail

  9. 尝试发送邮件:

    echo "Test mail from 44" | mail 13401157457@139.com

    默认使用你当前登陆的用户的用户名为前缀发送的邮件,我的默认是root,如果你不想以root为前缀的话,你可以新建用户,然后发送,这样就会以当前登陆的用户的名称发送了。基本到这里就结束了,如果还是没有发出去的话

  10. 查看发送日志:

    # tail -f /var/log/maillog

    如果发送450说明发送过于平凡,导致139邮箱服务器端给退回了,可等待一会再发