抱歉,评论被关闭
用telnet命令发送邮件案例
先来一个案例,瞧瞧,如下图所示:
红色的地方是密码,不好意思,我把他摸了!哈哈
还有上面看都很多奇怪的符号,看下面的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