邮件的接收使用了 POP3 (Post Office Protocol ,邮局协议)协议。POP3 协议定义了邮件客户端程序与 POP3 服务器进行通信以获得邮件相关内容的具体规则和细节。
POP3 协议类似于 SMTP 协议,它定义了一些命令用于管理邮箱等具体操作,为了能够在 Windows 下使用 telnet 程序来接收邮件,我们需要明白这些相关命令,具体请看下面(<space> 为空格,<CRLF> 为回车加换行):
- 1、user<space>邮箱的用户名<CRLF>:
- 该命令用于与POP3服务器建立联系;
- 2、pass<space>邮箱密码<CRLF>:
- 该命令用于user命令成功建立连接之后向 POP3服务器发送邮箱的密码;
- 3、stat<CRLF>:
- 该命令用于查看邮箱中的邮件数量以及所占用的字节大小;
- 4、uidl<space>msg#<CRLF>:
- 该命令用于查询邮箱中编号为msg#的邮件的唯一标识符,注:邮箱中的编号是从1开始的;
- 5、list<space>[msg#]<CRLF>:
- 该命令用于将邮箱中的邮件信息进行列表,当指定参数msg#时,返回该编号的邮件的信息,不指定则返回所有邮件的信息;
- 6、retr<space>msg#<CRLF>:
- 该命令用于获取编号为msg#的邮件的内容;
- 7、dele<space>msg#<CRLF>:
- 该命令用于将编号为msg#的邮件设置上删除的标记,注:执行该命令之后邮件并不立即被删除,而是等到执行quit命令才会被删除;
- 8、rset<space>msg#<CRLF>:
- 该命令用于将执行了dele命令的编号为msg#的邮件的删除标记清楚掉;
- 9、quit<space>msg#<CRLF>:
- 该命令用于结束与POP3服务器的链接,即结束邮件的接收过程,执行完该命令之后,邮箱中被设置了删除标记的邮件会被真正删除掉。
实际上, POP3 协议中还有其他几个命令,这里就不给出了,有兴趣的搜索一下。
现在用前面两篇文章注册使用过的 test_hao@163.com 和
test_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 ,如下图:
连接建立成功,POP3 服务器返回响应信息如下图:
2、使用 user 命令和 pass 命令分别发送邮箱用户名和密码,如下图:
从返回的响应信息看,已经给出了该邮箱中包含了 4封邮件,共占 25288 字节的空间,这从 4 message(s) [24116 byte(s)] 可以看得出来。我们用浏览器登录邮箱查看一下这些信息是否一致,如下图:
嗯,信息是对的,共 4 封邮件。
3、使用 stat 命令查看邮箱中的邮件数量以及所占字节数,如下图:
4、使用 uidl 命令查询指定编号的邮件的唯一标识符,假设我们查询编号为 2 的邮件,如下图:
5、使用 list 命令查询邮箱中所有邮件的信息,如下图:
6、 使用 list 命令查询某一编号的邮件信息,假设我们查看编号为 2 的邮件,如下图:
7、使用 dele 命令为某一编号的邮件设置删除标记,再用 list 命令查看,如下图:
发现 list 命令查询出来确实不见了编号为 2 的邮件信息。
8、使用 rset 命令清除被标上删除标记的邮件,这里我们把编号为 2 邮件还原回来,如下图:
9、使用 dele 命令之后再使用 quit 命令断开连接,即结束与 POP3 服务器的通信,然后从浏览器登录该邮箱查看编号为 2 的邮件是否被删除,如下图:
10、使用 retr 查看某一编号的邮件中的内容,假设编号为 1,如下图:
这样子查询得到的邮件 2 的内容有太多的 MIME 协议定义的格式了,很多都是消息体、消息头什么的,而且是经过了 BASE64 编码转换过的,具体的格式含义请搜索了解一下。
至此,使用 telnet 程序来手工地接受邮件的过程就差不多了,也是一种感觉:麻烦。
分享到:
相关推荐
微信小程序开发图解案例教程-源代码微信小程序开发图解案例教程-源代码微信小程序开发图解案例教程-源代码微信小程序开发图解案例教程-源代码微信小程序开发图解案例教程-源代码微信小程序开发图解案例教程-源代码...
《微信小程序开发图解案例教程》教学教案—01认识微信小程序.pdf《微信小程序开发图解案例教程》教学教案—01认识微信小程序.pdf《微信小程序开发图解案例教程》教学教案—01认识微信小程序.pdf《微信小程序开发图解...
《图解数据结构使用C++范例程序》是一本深入浅出的数据结构学习资源,它以C++语言为工具,通过实例程序详细讲解了各种重要的数据结构及其应用。在这个压缩包中,你将找到一系列与数据结构相关的C++源代码,帮助你更...
本文将详细介绍如何通过图解的方式设置Outlook和Foxmail来发送和接收邮件。 #### 二、Outlook发送接收邮件设置 ##### 1. 开始设置 - **启动Outlook**:首先打开Outlook软件。 - **进入账户设置**:点击顶部菜单栏...
《微信小程序开发图解案例教程》是一本专为学习微信小程序开发而编写的图书,它以实例驱动的方式,深入浅出地介绍了微信小程序的开发技术和实践应用。微信小程序,作为腾讯公司推出的一种轻量级应用开发平台,已经...
图解 WinForm 打包程序 WinForm 打包程序是使用 C# 语言编写的,主要功能是实现程序的打包和自动启动。下面是对该程序的详细解释: 1. 最小化到托盘 在 WinForm 程序中,可以使用 NotifyIcon 控件来实现最小化到...
《微信小程序开发图解案例教程(附精讲视频)(第3版)》是一本针对初学者和进阶开发者设计的教程,旨在帮助读者全面掌握微信小程序的开发技能。通过PPT详细版的形式,该教程提供了丰富的图文并茂的教学内容,使学习...
avrgcc编译程序方法图解 avrgcc编译程序方法图解 avrgcc编译程序方法图解 avrgcc编译程序方法图解 avrgcc编译程序方法图解
在微信小程序的开发过程中,我们需要了解以下几个核心知识点: 1. **开发环境准备**:首先,你需要安装微信开发者工具,这是官方提供的集成开发环境,包含了代码编辑、预览、调试等功能。下载并注册后,可以创建新...
本文将详细解释如何使用清零调整程序来解决这些问题,并提供使用步骤。 首先,"690K清零软件"是指专门针对爱普生LQ-690K设计的一种工具,它的主要功能是重置打印机的计数器,消除错误代码,恢复打印机的正常工作...
Install Shield安装程序制作图解
《十天学会易语言图解教程》的第八章主要探讨了易语言中的子程序概念及其应用。子程序是编程中一种重要的组织结构,它将大的程序分解为小的、独立的逻辑单元,使得代码更易于理解和调试。通过创建子程序,可以重用...
WIN7也能使用telnet远程登录喔,你知道吗,里面有详细的开启这个功能的方法的详细介绍,一看即懂,
微信小程序开发图解案例教程(附精讲视频)(第3版)-源码.rar
### 微信小程序开发图解案例教程知识点梳理 #### 1. 微信小程序概述 - **起源与发展**:微信小程序是由腾讯公司在2016年1月9日启动研发,2017年1月9日正式发布的轻量级应用程序。它的设计理念在于“触手可及”与...
微信小程序开发图解案例教程全程笔记;是书本原生笔记。
图解nlite精简XP全过程
另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。 mitmproxy的功能: 1、拦截HTTP和HTTPS请求和响应 2、保存HTTP会话并进行分析 3、模拟客户端发起请求,模拟服务器端返回响应 4、...