A-A+
Linux发送邮件使用外部邮箱的解决办法
一般Linux发送报警邮件通过本地邮箱或外部邮箱服务器,我习惯使用本地邮箱发邮件,装个Sendmail安装启动,即可实现发送邮件功能,但会存在两个问题:
1、发件人默认显示主机名,有的会被邮件服务商当垃圾邮件处理,也可以使用mutt定义发件人解决这个问题,要麻烦一下。
2、发件延迟,正常的话,一分钟之内可以收到,延迟大的话,几个小时收不到也很正常,这样一来运维工程师没有及时收到告警邮件,耽误问题处理及时性。
针对这两个问题,用外部邮箱就可以解决,你只需简单注册个国内的邮件服务商邮箱,如luyouqiwang.com的邮箱,也可以使用公司邮箱,需要安装mailx工具,mailx是一个小型的邮件发送程序,安装很简单,如下:
- CentOS:
- # yum install mailx
- # vi /etc/mail.rc #添加邮件信息
- set from=baojingtongzhi@luyouqiwang.com smtpsmtp=smtp.luyouqiwang.com
- set smtp-auth-user=baojingtongzhi@luyouqiwang.com smtp-auth-password=123456
- set smtp-auth=login
- Ubuntu:
- # sudo apt-get install heirloom-mailx
- # vi /etc/nail.rc #注意文件名和CentOS不同
- set from=baojingtongzhi@163.com smtpsmtp=smtp.163.com
- set smtp-auth-user=baojingtongzhi@luyouqiwang.com smtp-auth-password=123456
- set smtp-auth=login
发送邮件测试:
- # echo "this is test mail." |mail -s "test mail" xxx@xiaoxiongboke.com
提示:如果是QQ邮箱,要设置邮箱开启客户端连接支持,设置-->账户-->开启POP3/SMTP服务