Linux mail/mailx命令使用外部smtp(网易163的SMTP)来发送邮件

bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的资源占用。

我觉得更重要的是,发送的邮件成功率会高一些。

而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的。

我使用了国内速度最快的网易邮箱,是为了保证邮件发送的及时性,如果是比较重要的邮件,一般建议使用tx的邮箱。

[shell]
vi/etc/nail.rc #(Centos下是 /etc/mail.rc)
set from=psinfomail@163.com smtp=smtp.163.com
set smtp-auth-user=邮箱用户名 smtp-auth-password=邮箱密码 smtp-auth=login
[/shell]

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

配置成功后,就可以使用了
可以发送一封邮件测试一下:

[shell]
mail -s "tes the smtp mail" shuhaigg@sohu.com
[/shell]

user@sohu.com是收件人地址,content.txt里面是邮件正文.

接下来,使用Shell或者PHP发送邮件就比较方便呐!