mail/mailx这玩意网上的资料不是一般的少,而且都很简陋。因为在维护一个vps,而vps也有个小小的规定,不能乱发邮件,如果乱发的话直接把服务器Delete,真够狠。也就是说不要用sendmail服务来发。那好吧,运营商的霸王条款也只能接受了,就为了便宜的东西,忍了吧。那就用smtp服务通过邮件服务商来发。 我怕中招,所以我把sendmail也删除了,因为上次已经中了一次了。
# 停止服务
service sendmail stop
# 取消自启动
chkconfig sendmail off
# 删除你
apt-get remove sendmail
OK,现在如果使用mail来发邮件的话,日志上应该会提示连接本地服务失败了。所以需要安装一个程序来改变发送邮件的配置,具体为什么要安装,而不是自身就能够使用SMTP这个问题,我也不知道(因为懒,所以没有追查这事)。文件地址是/etc/ssmtp/ssmtp.conf
apt-get install ssmtp
然后就是配置ssmtp
# SMTP服务器地址,后面可以加端口,如smtp.163.com:25
mailhub=smtp.163.com
# 服务器的域名
hostname=163.com
# 登陆用户,自家用的名字
AuthUser=auth_user_name
# 登陆密码
AuthPass=******
# 登陆方式,直接翻译法
AuthMethod=LOGIN
如果没有错的话,以上配置已经是没有问题的,有问题应该也是人品了,如果是163的邮箱的话,还需要改一份别名的配置,因为163的邮件服务发送邮件的时候,发送地址必须要和登陆名字一样的,如我的邮件用户是doni那么发送地址必须是doni(@)163.com,不然网易会不让你发。配置地址是/etc/ssmtp/revaliases
root:[email protected]:smtp.163.com
OK,配置都搞掂了,来个Hello world试试看。
echo hello world | mail -s "success!!!" [email protected] -vv