手工使用smtp和pop来发送邮件和接收邮件 WIN7

来源:互联网 发布:淘宝二维码怎么设置 编辑:程序博客网 时间:2024/06/15 20:56

算是php中的mail函数引发的血案吧!

我无意中就看到了有手动实用smtp协议的文章,然后我就尝试,诸多问题,终于一一被解决了。

now,开始!

 

smtp协议是发送端到邮件服务器传送协议,和邮件服务器之间的传送协议。

POP协议是邮件服务器发送到接受方的传送协议。

 

我们使用telnet来手工操作这两个协议。

首先我们用telnet来操作smtp协议,将我们要写的邮件发送到我们注册的邮件服务器,我这里是用163的smtp.163.com.

我的发送地址是kefeng-jin@163.com

我是WIN7系统,默认是没有telnet服务的,所以需要在“控制面板”上的程序中去安装这个telnet服务,具体网上有。

在命令行下输入:telnet smtp.163.com 25                                //使用的是25号端口(这个颜色的是我们输入的内容)

220 163.com Anti-spam GT for Coremail System <163com[20101010]>

helo smtp.163.com                                                               //相当于和服务器进行握手,通知服务器

250 OK

auth login                                                                            //表示要进行邮箱密码账号的输入(下面先输入账号后输入密码)

334 dXNlcm5hbWU6

a2VmZW5nLWppbg==                                                        //不能直接输入明文,这是经过Base64加密后的账号

334 UGFzc3dvcmQ6

OTAwNzE0                                                                           //加密后的值

235 Authentication successful

mail from:<kefeng-jin@163.com>                                        //发送者邮箱,根据自己的改

250 Mail OK

rcpt to:<371385396@qq.com>                                           //接收者邮箱,可以同时输入多条

250 Mail OK

data                                                                                     //将之后的数据作为数据发送

354 End data with <CR><LF>.<CR><LF>

TO:371385396@qq.com                                                     //这里的to,from随意写,可以骗人

from:dota@163.com

subject: hello world                                                           //标题

this is my first mail sent in the console                             //标题下空一行输入内容,邮件写完,以一个句点加回车结束

.

250 Mail OK queued as smtp10,wKjADQ2ApxRnnqBE0CWaEw==.38326S3 

QUIT                                                                                                             //退出命令

注意:上面我在开始弄得时候,犯了很多的错误,当输入一条命令,不小心输入错误的时候,再按Backspace键修改没有还是会错,所以直接重新输入吧。

Base64加密:我可能要发代码,现在代码有点问题,没时间管,没有改,有两个网址,一个事介绍这个加密的http://www.5dmail.net/html/2004-1-30/200413084348.htm,另一个是直接执行加密的

http://www.chinaue.com/tool/md5/Base64.htm。

遗留问题:我用gmail邮箱就有问题,待高手解决。网上说是因为ssl加密的问题,我还没有解决。

POP3收信操作,这个比较简单,我考别人的。(这里的用户,密码不需要加密)

[crazywill@localhost crazywill]$ telnet pop.163.com 110                #telnet登录110端口
Trying 202.108.5.104...
Connected to pop.163.com.
Escape character is '^]'.
+OK Welcome to coremail Mail Pop3 Server (163com[20050206])
USER crazywill                                                     # 用户名
+OK core mail
PASS mypassword                                             # 登录密码
+OK 254 message(s) [27676669 byte(s)]
STAT                                                                      # 查看邮箱状态
+OK 254 27676669
LIST                                                                         # 邮件列表
+OK 254 27676669
1 2468
2 21945
3 33136
4 2071
5 3364
6 18906
7 3136
8 24764
.................

TOP 254  0                                                    # 查看指定邮件的邮件头,0表示查看整个邮件头,其它正整数表示限制返回多少行。
+OK core mail
Received: from smtp.63.com (unknown [58.252.70.158])
        by smtp5 (Coremail) with SMTP id wKjREDrA9gIfFqlEjCnRAg==.29062S4;
        Mon, 03 Jul 2006 21:07:18 +0800 (CST)
TO: crazywill@163.com
FROM : cccc@163.com                                                   # 这里即前面发信时伪造的一个假发送人信息,平时正常操作只显示这个。
SUBJECT: test by telnet/smtp                                        # 邮件主题
Message-Id: <44A91687.0E6F6C.07562>
Date: Mon, 3 Jul 2006 21:07:19 +0800 (CST)
Sender: crazywill@163.com                                            # 这里是真正的发送人,不可伪造。


.
RETR 254                                                     # 获取指定邮件
+OK 354 octets
Received: from smtp.63.com (unknown [58.252.70.158])
        by smtp5 (Coremail) with SMTP id wKjREDrA9gIfFqlEjCnRAg==.29062S4;
        Mon, 03 Jul 2006 21:07:18 +0800 (CST)
TO: crazywill@163.com
FROM : cccc@163.com
SUBJECT: test by telnet/smtp
Message-Id: <44A91687.0E6F6C.07562>
Date: Mon, 3 Jul 2006 21:07:19 +0800 (CST)
Sender: crazywill@163.com

test, just a test.
.

DELE 254                                                       # 删除第254封邮件
+OK core mail
STAT                                                             # 查看邮箱状态
+OK 253 27676315
QUIT                                                              # 退出
+OK core mail
Connection closed by foreign host.
[crazywill@localhost crazywill]$