在运维工作中,我们经常需要发送一些报警邮件,然后又不想开启本地的sendmail或postfix服务,那么我们可以设置一下,调用外部smtp发送邮件。
首先关闭本地的sendmail或postfix服务,修改/etc/mail.rc,增加以下两行,指定外部的smtp服务器地址、帐号密码等。
# vi /etc/mail.rc
set from=alerts@163.com smtp=smtp.163.com
set smtp-auth-user=alerts smtp-auth-password=yourpassword smtp-auth=login
然后通过mail命令来发送邮件
echo "test" | mail -s "This is a test mail." alerts@163.com
如果想查看邮件是否发送成功,可以加上-v参数如下
echo "test" | mail -v -s "This is a test mail." alerts@163.com
可是发现在RHEL6运行是没有问题,在RHEL5下,mail命令始终是调用本地的sendmail服务来发送邮件的。到底RHEL6和RHEL5下的mail和mailx又有着什么关系呢?
RHEL6下
mail 链接到 mai