相比于使用脚本,这种更加简单
一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,我习惯使用本地邮箱发邮件,装个Sendmail安装启动,即可实现发送邮件功能,但会存在问题:
1、发件人默认显示主机名,有的会被邮件服务商当垃圾邮件处理,也可以使用mutt定义发件人解决这个问题,要麻烦一下。
2、发件延迟,正常的话,一分钟之内可以收到,延迟大的话,几个小时收不到也很正常,这样一来运维工程师没有及时收到告警邮件,耽误问题处理及时性。
针对这两个问题,用外部邮箱就可以解决,你只需简单注册个国内的邮件服务商邮箱,如163,也可以使用公司邮箱,需要安装mailx工具,mailx是一个小型的邮件发送程序,安装很简单,如下:
CentOS:
root@linux-szge:/root # yum install mailx
root@linux-szge:/root # vim /etc/mail.rc
修改配置文件,我这里是使用qq邮箱发送
1 set from=shenjianyu@thinktrader.net smtp=smtp.exmail.qq.com 2 set smtp-auth-user=shenjianyu@thinktrader.net smtp-auth-password=邮箱密码 3 set smtp-auth=login
发送邮件测试:
root@linux-szge:/root # echo "测试邮件" | mail -s "测试" 976299670@qq.com
成功: