当前位置: 代码迷 >> 综合 >> IMAP、POP3、SMTP协议学习笔记
  详细解决方案

IMAP、POP3、SMTP协议学习笔记

热度:57   发布时间:2023-10-22 02:00:16.0

IMAP、POP3、SMTP协议学习笔记

1、IMAP

因特网报文存取协议IMAP(Internet Message Access Protocol)

IMAP协议是由斯坦福大学的Mark Crispin教授在1986年开发的,后期版本是华盛顿州立大学进行开发的,IMAP4是TCP/IP协议族中的一员,现在的版本是“IMAP第四版第一次修订版”(IMAP4rev1)。

IMAP4协议的特性
   IMAP4协议的默认端口:143
   IMAP4协议默认传输协议:TCP/IP
   IMAP4协议适用的网络构架:C/S
   IMAP4协议访问模式:离线/在线
   IMAP4协议存储邮件模式:分布式

一次IMAP4rev1连接组成:

1、建立客户端到服务器的网络连接;

2、服务器初始欢迎;

3、剩下就是重复客户端、服务器的交互, 交互基本形式为:

  客户端发送命令

  服务器返回请求数据

  服务器返回完成响应

客户端命令引发操作。每个客户端命令以一个标识作为前缀(典型的有字母、数字构成的短字符串,如:A0001,A0002,等等)――它称为“标签”。客户端为每个命令生成不同的“标签”,也称每个客户端命令都是标签化的。

  IMAP4rev1服务器端的协议接收端,从客户端读取命令行,解析该命令行及其参数,并传送服务器数据(非标签化,以*或+开头)及一个服务器命令(标签化,有与客户端请求命令相同的前缀)完成结果的响应。

一旦客户端和服务器间的连接建立完成,一个IMAP4rev1连接就会处于4种状态中的某一种。
1.未认证状态 :在未认证状态下,大多数命令在得到许可前,客户端必须提供认证证书。若非连接已经是预认证了的,一个连接开始时,就进入了未认证状态。 
2. 认证状态 :在认证状态下,客户端是认证了的,它必须先于影响邮件的命令被许可前,选择一个邮箱以访问。当一个预认证连接开始,被认可的认证证书已经提供,选择一个邮箱发生错误后,或者一个成功的CLOSE命令后,就进入了认证状态。
3. 选中状态 :在一个选中状态,一个邮箱被选中以访问。当一个邮箱被成功选中时,就进入了这个状态。 
4. 注销状态 :在注销状态下,连接正在被终止。一个客户端请求(通过LOGOUT命令),或者客户端、服务器的单方面动作,都会导致进入这个状态。

之所以提及到状态,是因为IMAP协议的很多指令只有在处于某种状态下才会有效。

具体协议语法参考链接:https://blog.csdn.net/qqnnhhbb/article/details/6428681

2、POP3

POP3全称为Post Office Protocol version3,即邮局协议第3版。它被用户代理用来邮件服务器取得邮件。POP3采用的也是C/S通信 模型。

用户从邮件服务器上接收邮件的典型通信过程如下。

1) 用户运行用户代理(如Foxmail, Outlook Express)。

2) 用户代理(以下简称客户端)与邮件服务器(以下简称服务器端)的110端口建立TCP连 接。

3) 客户端向服务器端发出各种命令,来请求各种服务(如查询邮箱信息,下载某封邮件等)。

4) 服务端解析用户的命令,做出相应动作并返回给客户端一个响应。

5) 3)和4)交替进行,直到接收完所有邮件转到步骤6),或两者的连接被意外中断而直接退出。

6) 用户代理解析从服务器端获得的邮件,以适当地形式(如可读)的形式呈现给用户。

  <SP>代表空格,<CRLF>代表回车和换行。

POP3相对于因特网报文存取协议IMAP(Internet Message Access Protocol)的最大的不足是:它只是一个脱机协议,客户与服务器的交互性不是特别好。例如不能直接在邮箱中创建文件夹,不太好选择性地下载邮件的某部分(虽然TOP命令部分地实现了这个功能,但交互性不是很好)等。然而,它也有自己的优势,那就是协议简单,容易实现,成本低,这是POP3用得很广泛而IMAP几近淘汰的最重要的原因。

pop3命令

IMAP、POP3、SMTP协议学习笔记

参考链接:https://blog.csdn.net/u014558484/article/details/53150038

3、SMTP协议

SMTP称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。它的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。通常它工作在两种情况下:一是邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。SMTP是一个请求/响应协议,它监听25号端口,用于接收用户的Mail请求,并与远端Mail服务器建立SMTP连接。SMTP在1982年首次被定义在  RFC 821 ,在2008它被更新为扩展的SMTP协议,补充在文件 RFC 5321 ,扩展的协议是目前使用最广泛的协议。

参考链接:https://blog.csdn.net/sinat_36219858/article/details/71069515


 

  相关解决方案