`

图解使用telnet程序手工接收邮件及其过程

 
阅读更多
邮件的接收使用了 POP3 (Post Office Protocol ,邮局协议)协议。POP3 协议定义了邮件客户端程序与 POP3 服务器进行通信以获得邮件相关内容的具体规则和细节。

POP3 协议类似于 SMTP 协议,它定义了一些命令用于管理邮箱等具体操作,为了能够在 Windows 下使用 telnet 程序来接收邮件,我们需要明白这些相关命令,具体请看下面(<space> 为空格,<CRLF> 为回车加换行):

  1. 1、user<space>邮箱的用户名<CRLF>
  2. 该命令用于与POP3服务器建立联系;
  3. 2、pass<space>邮箱密码<CRLF>
  4. 该命令用于user命令成功建立连接之后向 POP3服务器发送邮箱的密码;
  5. 3、stat<CRLF>:
  6. 该命令用于查看邮箱中的邮件数量以及所占用的字节大小;
  7. 4、uidl<space>msg#<CRLF>
  8. 该命令用于查询邮箱中编号为msg#的邮件的唯一标识符,注:邮箱中的编号是从1开始的;
  9. 5、list<space>[msg#]<CRLF>
  10. 该命令用于将邮箱中的邮件信息进行列表,当指定参数msg#时,返回该编号的邮件的信息,不指定则返回所有邮件的信息;
  11. 6、retr<space>msg#<CRLF>
  12. 该命令用于获取编号为msg#的邮件的内容;
  13. 7、dele<space>msg#<CRLF>
  14. 该命令用于将编号为msg#的邮件设置上删除的标记,注:执行该命令之后邮件并不立即被删除,而是等到执行quit命令才会被删除;
  15. 8、rset<space>msg#<CRLF>
  16. 该命令用于将执行了dele命令的编号为msg#的邮件的删除标记清楚掉;
  17. 9、quit<space>msg#<CRLF>
  18. 该命令用于结束与POP3服务器的链接,即结束邮件的接收过程,执行完该命令之后,邮箱中被设置了删除标记的邮件会被真正删除掉。

实际上, POP3 协议中还有其他几个命令,这里就不给出了,有兴趣的搜索一下。

现在用前面两篇文章注册使用过的 test_hao@163.comtest_hao@sina.cn 邮箱(密码都是:123456)进行实验,假设我们要接收 test_hao@163.com 邮箱中的邮件,那么必须知道 163 邮箱的 POP3 服务器是 pop33.163.com ,并且 POP3 服务器建立连接的默认端口号是 110 , 具体实验过程如下:

1、在 Windows 命令行提示符控制台下使用 telnet 程序与 pop3.163.com 建立连接,输入命令 telnet pop3.163.com 110 ,如下图:

image

连接建立成功,POP3 服务器返回响应信息如下图:

image

2、使用 user 命令和 pass 命令分别发送邮箱用户名和密码,如下图:

image

从返回的响应信息看,已经给出了该邮箱中包含了 4封邮件,共占 25288 字节的空间,这从 4 message(s) [24116 byte(s)] 可以看得出来。我们用浏览器登录邮箱查看一下这些信息是否一致,如下图:

POP3 接收邮件01

嗯,信息是对的,共 4 封邮件。

3、使用 stat 命令查看邮箱中的邮件数量以及所占字节数,如下图:

image

4、使用 uidl 命令查询指定编号的邮件的唯一标识符,假设我们查询编号为 2 的邮件,如下图:

image

5、使用 list 命令查询邮箱中所有邮件的信息,如下图:

image

6、 使用 list 命令查询某一编号的邮件信息,假设我们查看编号为 2 的邮件,如下图:

image

7、使用 dele 命令为某一编号的邮件设置删除标记,再用 list 命令查看,如下图:

image

发现 list 命令查询出来确实不见了编号为 2 的邮件信息。

8、使用 rset 命令清除被标上删除标记的邮件,这里我们把编号为 2 邮件还原回来,如下图:

image

9、使用 dele 命令之后再使用 quit 命令断开连接,即结束与 POP3 服务器的通信,然后从浏览器登录该邮箱查看编号为 2 的邮件是否被删除,如下图:

image

image

POP3 接收邮件02

10、使用 retr 查看某一编号的邮件中的内容,假设编号为 1,如下图:

这样子查询得到的邮件 2 的内容有太多的 MIME 协议定义的格式了,很多都是消息体、消息头什么的,而且是经过了 BASE64 编码转换过的,具体的格式含义请搜索了解一下。

至此,使用 telnet 程序来手工地接受邮件的过程就差不多了,也是一种感觉:麻烦。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics