用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分类下, 评论已关闭。

目前盖楼

抱歉,评论被关闭

« »