设置linux发送email(非sendmail)

  1. 云栖社区>
  2. 博客>
  3. 正文

设置linux发送email(非sendmail)

技术小阿哥 2017-11-27 15:50:00 浏览855
展开阅读全文

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邮件服务器验证通过。
所以,电子邮件是可以伪造的,大家注意安全啊。。


本文转自 Wilson9527 51CTO博客,原文链接:http://blog.51cto.com/devops9527/1670780,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论