当我们在linux中使用mail命令的时候,系统会默认使用本地sendmail或者postfix发送邮件,如果你没有安装sendmail或者postfix,或者说你觉得配置非常麻烦,而且会带来不必要的错误,我们改怎么办呢?

我们可以使用外部邮箱(163,126,gmail,139等等)为我们发邮件,举个例子就相当于你用你的windows发送邮件一样,你不必装一个邮件服务器.

-bash: mail: command not found
显然mailx没有安装,于是:
yum -y install mailx

我们通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的.比如,我以我自己的139邮箱为例

修改/etc/mail.rc (/etc/nail.rc) 在文件的末行添加以下5行

1
2
3
4
5
set from=test@163.com
set smtp=smtp.163.com
set smtp-auth-user=test@163.com
set smtp-auth-password=test
set smtp-auth=login

不用重启,立刻生效

说明:
from是发送的邮件地址
smtp是发生的外部smtp服务器的地址
smtp-auth-user是外部smtp服务器认证的用户名
smtp-auth-password是外部smtp服务器认证的用户密码
smtp-auth是邮件认证的方式

配置成功后,就可以使用了可以发送一封邮件测试一下: mail -s "test" test@163.cn < test.txt 其中-s后面的是邮件标题,test@163.com,test.txt里面是邮件正文

1
 echo "标题" | mail -s '内容' abc@163.com,abc@163.com

ok! 我在我的邮箱中已经收到来自163邮箱的邮件了.