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>代表回车和换行。

---建立连接---|认可|--认证成 功--|处理|--执行QUIT--|更新| 
|_______ -QUIT结束_________________|

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

参考链接:

https://blog.csdn.net/u014558484/article/details/53150038

https://www.cnblogs.com/onelikeone/p/7864994.html

 

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

4、MIME

MIME协议用于定义复杂的邮件体格式,它可以表达多段平行的文本内容和非文本的邮件内容,例如,在邮件体中内嵌的图像数据和邮件附件等。另外,MIME协议的数据格式也可以避免邮件内容在传输过程发生信息丢失。对于表示某个具体资源的MIME消息,它的消息头中需要指定资源的数据类型;对于MIME组合消息,它的消息中需要指定组合关系。具体资源的数据类型和组合消息的组合关系,都是通过消息头中的Content-Type头字段来指定的。Content-Type字段中的内容以“主类型/子类型”的形式出现,主类型有text、image、audio、video、application、multipart、message等,分别表示文本、图片、音频、视频、应用程序、组合结构、消息等。每个主类型下面都有多个子类型,例如text类型包含plain、html、xml、css等子类型。multipart主类型用于表示MIME组合消息,它是MIME协议中最重要的一种类型。一封MIME邮件中的MIME消息可以有三种组合关系:混合、关联、选择,它们对应MIME类型如下:

multipart/mixed
表示消息体中的内容是混和组合类型,内容可以是文本、声音和附件等不同邮件内容的混和体。比如一封邮件中即包含附件,邮件内容还引用内嵌的图片或附件资源,这种类型邮件的MIME类型就必须定义为multipart/mixed。
multipart/related
表示消息体中的内容是关联(依赖)组合类型。比如:邮件内容有一个img标签,这个标签的src属性指向的是邮件内部的一个图片资源,所以这封邮件MIME类型就应该定义为multipart/related
multipart/alternative
表示消息体中的内容是选择组合类型,例如一封邮件的邮件正文同时采用HTML格式和普通文本格式进行表达时,就可以将它们嵌套在一个multipart/alterntive类型的组合消息中。这种做法的好处在于如果邮件阅读程序不支持HTML格式时,可以采用其中的文本格式进行替代。
    一封最复杂的电子邮件的基本情况为:含有邮件正文和邮件附件,邮件正文可以同时使用HTML格式和普通文本格式表示,并且HTML格式的正文中又引用了其它的内嵌资源。对于这种最复杂的电子邮件,可以采用下图所示的MIME消息结构进行描述:

5、IMAP、POP3、SMTP比较

SMTP:主要用来从邮件客户端向邮件服务器发送邮件,也可以用来在邮件服务器之间转发邮件.和其他的两个协议有明显的功能区别.另外的两个协议是用来从邮件服务器获取邮件的.

POP3是把邮件下载到本地计算机。IMAP是连接远程邮箱直接操作。两个都是收信de
SMTP是发信的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值