zoukankan      html  css  js  c++  java
  • Linux系统发送告警邮件

    一、采用Shell脚本

    方法1:搭建本地邮箱服务器。

      如:Simple Mail、Postfix

      创建用户后,可以向外发送邮件。

      发件人默认显示主机名,有可能会被拒收。

      并且发送延迟较大,有时好几分钟才收到。

      考虑到以上2个缺点,我们可以使用

    方法2:使用外部邮箱服务器。

      (1)mailx查询

    [root@localhost etc]# rpm -qa | grep mailx
    mailx-12.5-19.el7.x86_64
    libreport-plugin-mailx-2.1.11-40.el7.x86_64

      说明:在CentOS 7系统中默认有安装mailx命令进行系统邮件的发送。如果没有相关的命令可以自行通过yum安装

    [root@localhost etc]# yum -y install mailx

      (2)/etc/mail.rc配置文件

    [root@localhost etc]# vim /etc/mail.rc 
    set from=xxxxx@163.com  smtp=smtp.163.com
    set smtp-auth-user=xxxxx@163.com smtp-auth-password=Password
    set smtp-auth=login

      说明:对于163邮箱来说,认证密码并不是邮箱登陆密码,而是你打开邮箱POP3/SMTP服务时,弹出的密码。

         调用163邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件会让我们设置客户端授权码,这个授权码替代上面代码部分的Password即可成功发送邮件

      (3)mail发送测试

    [root@localhost etc]# echo "The mail's content." | mail -s "The mail's Subject." xxxxx@163.com
    [root@localhost tmp]# mail -s "The mail's Subject." xxxxx@163.com  < test.txt

       说明:

        1.这样一来,在我们写其他脚本时,可以直接调用mail命令来发送告警邮件

        2.系统收到的mail会保存在/var/spool/mail,或者直接使用mail命令查看搜到的邮件。

    [root@localhost tmp]# mail
    No mail for admin

    原创不易,记得点赞哦!

  • 相关阅读:
    51单片机按键连击
    未知设备号创建设备节点
    C语言中enum的用法
    linux 端口IO操作
    读写控制台记录级别
    linux内核驱动中读写函数
    使用gawk记录一段时间内,某个进程占用内存和CPU的情况
    <Linux> Ubuntu error: ssh: connect to host master port 22: No route to host lost connection
    MapReduce的分区与 分组二次排序
    问题
  • 原文地址:https://www.cnblogs.com/ytdyz/p/12679953.html
Copyright © 2011-2022 走看看