您的位置:首页 > 运维架构 > Linux

设置linux发送email(非sendmail)

2015-07-04 10:19 639 查看
vi /etc/mail.rc
在末尾添加邮箱和密码:
set from=249016681@qq.com smtp=smtp.qq.com
set smtp-auth-user=249016681@qq.com smtp-auth-password=xxxxxx smtp-auth=login

mail -s a u kiding me xx@xx.com

使用mail命令发送邮件,有如下三种方式:1、直接使用shell当编辑器
mail -s "Hello from mzone.cc by shell" admin@mzone.cc
hello,thisis the content of mail.welcome to www.mzone.cc
第一行是输入的命令,-s表示邮件的主题,后面的admin@mzone.cc则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了邮件的发送。

2、使用管道进行邮件发送
echo "hello,this is the content of mail.welcome to www.mzone.cc"| mail -s "Hello from mzone.cc by pipe" admin@mzone.cc
使用管道直接敲入这行命令即可完成邮件的发送,其中echo后的是邮件正文。3、使用文件进行邮件发送
mail -s "Hello from mzone.cc by file" admin@mzone.cc < mail.txt
使用上面的命令后,我们就可以把mail.txt文件的内容作为邮件的内容发送给admin@mzone.cc了。使用上述三种方式都可以给外部邮箱进行邮件发送,但因为前面2中都是直接在shell中敲入邮件内容,因此无法输入中文,即使我们使用粘贴的方式输入了中文,那么收到的邮件也是乱码的。但第3种方式,我们可以在window下编辑好邮件内容后,放到linux下,再进行发送,这样就可以正常发送中文了。不过目前邮件的中文标题暂时没有找到解决办法。

伪造发件人方法:
Centos 6.x Heirloom Mail version 12.4 7/29/08. Type ? for help.Mail 已经自带参数可以指定,如下:
# echo hello | mail -s ’12306′ -r from@xxxxx.com to@xxxxxx.com
Centos 5.x Mail version 8.1 6/6/93. Type ? for help.
在使用Linux的mail来发邮件的时候,是可以对发件人进行伪造的。也就是说我们可以任意的指定发件人。
使用方法如下:
# echo hello | mail -s ’12306′ to@foxmail.com -- -f from@xxxxx.com
这里要注意先是有两个短杠 再加一个-f后面才跟上发件人地址。这种发信方式,不仅在使用本地senmail服务器验证通过,并且在我们上篇的sohu邮件服务器验证通过。
所以,电子邮件是可以伪造的,大家注意安全啊。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux email