用telnet命令发送邮件案例

分类:Linux | 作者:凹凸曼 | 发表于2011/03/15 1条评论

先来一个案例,瞧瞧,如下图所示:

                 

红色的地方是密码,不好意思,我把他摸了!哈哈

还有上面看都很多奇怪的符号,看下面的php代码就明白了(base64 编码)

<?php
echo base64_encode(“用户名”);  //  邮件名
echo ‘<br>’;
echo base64_encode(“密码”);//    密码
echo ‘<br>’; 
$email_subject = ‘=?utf-8?B?’.base64_encode(preg_replace(“/[\r|\n]/”, ”, ‘好标题123′)).’?=’;

echo $email_subject;   // 标题 =?utf-8?B?usOx6sziMTIz?=
$email_message = chunk_split(base64_encode(str_replace(“\n”, “\r\n”, str_replace(“\r”, “\n”, str_replace(“\r\n”, “\n”, str_replace(“\n\r”, “\r”,”好啊热油 i lovyou”))))));
echo ‘<br>’;
echo $email_message; //内容; usOwocjI080gaSBsb3Z5b3U=
?>

案例完了,把命令的意思还是搬出来,晒哈,更能看明白哈!

这里用到smtp协议的6个命令。6个命令就能发送邮件,有点不可思议。下面列举出所有:

helo    见面当然得打招呼了,后面接任意名字

AUTH    选择输入用户名密码的方式,scol的需要进行 base64 编码,后面将有转化的类提供,很简单

mail from:    说明邮件来自哪里,不一定为邮件地址,不过最好还是写成正确的email地址

rcpt to:    说明邮件发送到哪里,一定要为正确的email地址

data    发送的正文,结束为:回车,.,回车。即两个回车中间一个点

quit    断开连接

1,打开windows命令窗口,键入:telnet smtp.scol.com.cn 25

       smtp.scol.com.cn 是scol邮件服务器,25 是服务器的端口号,

       成功连接的响应为:220 ..

       前面的 220 即为响应码,只要它是 220 就表示成功连接了,

       其中的 ESMTP 表示 扩展SMTP协议,

2,成功连接后就想服务器打招呼吧,

       键入:helo  hi

 看到上图里面有提示有哪些验证方式,有 LOGIN,即表示用户名和密码将需要进行 base64编码。

3,选择验证方式,这里选择上面的 LOGIN,

      键入:AUTH LOGIN

      成功后将响应:334

      334 表示命令未完成,后面接着输入编码后的email用户名,回车,将又响应:334,再输入编码后的密码,回车,这次如果验证通过将响应:235 。

4,输入发件人,

      键入:mail from: sns@scol.com.cn

      成功将响应:250 Ok

      发件人最好写成正确的email地址,因为一般邮件服务器也会验证的

5,输入收件人,

      键入:rcpt to: <jar-c@163.com>

      成功将响应:250 Ok

      收件人必须是正确的email地址,

      并且可以输入多个 rcpt to 命令,将同时给多个email地址发送邮件

6,写邮件内容,

 输入:data
354 ok, send it; end with <CRLF>.<CRLF>(OK,可以写邮件内容了,以.结束)
subjet:test(邮件主题,可以是中文,也可带空格)
回车(换行命令,表示开始写邮件正文)
奥特曼(lyc)在此,变形超人!(邮件正文,回车换行)
.(邮件结束,发送吧)
回车换行
7,断开连接,

      键如:quit

8,登陆邮箱哈!娃哈哈!下班了

本文出自 “凹凸曼” 博客,请务必保留此出处http://www.apoyl.com/?p=335

日志信息 »

该日志于2011-03-15 10:19由 凹凸曼 发表在Linux分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

目前盖楼 (1)层:

发表评论 »

« »