Linux下mail/sendmail发送邮件 使用外部smtp发送邮件

losetowin 发布于:2014-4-28 19:03 分类:linux  有 13494 人浏览,获得评论 41 条 标签: linux 邮件 mail sendmail 

本文地址:http://www.dutycode.com/post-48.html
除非注明,文章均为 www.dutycode.com 原创,欢迎转载!转载请注明本文地址,谢谢。

问题描述:

    自己买了个阿里云的服务器,现在想每个礼拜五的时候对博客的数据做一次备份,然后将邮件发送到我指定的邮箱中

解决办法:

方法一:

安装Sendmail和mail来发送邮件

这种方式需要启动sendmail服务,当然,这样是会占用资源的~

1、安装sendmail   


yum install sendmail
2、然后启动sendmail服务



service sendmail start


会出现如下的内容:


Starting sendmail:                                         [  OK  ]
Starting sm-client:                                        [  OK  ]


发送测试邮件:


mail -s "Test mail" dutycode@gmail.com < file.txt
如果没有问题的话,会收到邮件的


如果出现mail命令不存在的话,说明本机没有安装mail。使用如下命令安装


yum install mailx -y
备注:


上述mail命令解释:

“Test mail”---> 邮件主题

dutycode@gmail.com --->收件人邮箱

file.txt --->正文内容


方法二:

使用外部SMTP服务器来发送邮件,这种方法比较好,推荐使用,可以减少自己服务器的压力

1、需要编辑/etc/mail.rc文件(我的系统是Centos)

添加如下内容:


set from=aliyun_watch@163.com
set smtp=smtp.163.com
set smtp-auth-user=aliyun_watch smtp-auth-password=密码
set smtp-auth=login
如图所示:


QQ截图20140428191149.png

参数说明:

from是指发件邮箱

smtp指smtp服务器(PS:这里使用的是163的邮箱,QQ邮箱的话必须启动安全连接ssl,这个我还不知道怎么配置,求大神指教)

smtp-auth-user用户名

smtp-auth-password密码

smtp-auth验证方式

如上配置之后,可以使用mail -s "Test mail " dutycode@gmail.com < file.txt来进行测试,看邮件是否能正常收到


发送带附件的邮件:(mailx中带有-a的命令,指附件)

    mail -s "Test file" -a zip.tar dutycode@gmail.com < file

可能遇到的问题:

    1、uuencode: command not found

        原因:sharutils没有安装,安装即可:yum install sharutils

参考文章:http://www.4wei.cn/archives/1001468

http://www.cnblogs.com/xiaoshi1991/archive/2012/09/19/2694465.html

http://www.qttc.net/201208174.html


版权所有:《攀爬蜗牛》 => 《Linux下mail/sendmail发送邮件 使用外部smtp发送邮件
本文地址:https://www.dutycode.com/post-48.html
除非注明,文章均为 《攀爬蜗牛》 原创,欢迎转载!转载请注明本文地址,谢谢。