IMAP4

来自站长百科
跳转至: 导航、​ 搜索

IMAP4,即交互式数据消息访问协议第四个版本,IMAP协议是由斯坦福大学的Mark Crispin教授在1986年开发的,后期版本是华盛顿州立大学进行开发的,IMAP4是TCP/IP协议族中的一员,IMAP4协议与POP3协议一样也是规定个人计算机如何访问互联网上的邮件服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级,IMAP4协议支持客户机在线或者离线访问并阅读服务器上的邮件,还能交互式的操作服务器上的邮件。IMAP4协议更人性化的地方是不需要像POP3协议那样把邮件下载到本地,用户可以通过客户端直接对服务器上的邮件进行操作,用户可以在服务器上维护自己邮件目录,IMAP4协议弥补了POP3协议的很多缺陷,本协议是用于客户机远程访问服务器上电子邮件,它是邮件传输协议新的标准。

IMAP协议的特点[ ]

  • 与POP3协议类似IMAP也是提供面向用户的邮件收取服务,常用的版本是IMAP4,IMAP4改进了POP3的不足,用户可以通过浏览信件头来决定是否收取、删除和检索邮件的特定部分,还可以在服务器上创建或更改文件夹或邮箱,它除了支持POP3协议的脱机操作模式外,还支持联机操作和断连接操作。
  • 它为用户提供了有选择的从邮件服务器接收邮件的功能、基于服务器的信息处理功能和共享信箱功能。IMAP4的脱机模式不同于POP3,它不会自动删除在邮件服务器上已取出的邮件,其联机模式和断连接模式也是将邮件服务器作为“远程文件服务器”进行访问,更加灵活方便。

IMAP4支持的功能[ ]

  1. 支持连接和断开两种操作模式。当使用POP3时,客户端只会连接在服务器上一段的时间,直到它下载完所有新信息,客户端即断开连接。在IMAP中只要用户界面是活动的和下载信息内容是需要的,客户端就会一直连接在服务器上。对于有很多或者很大邮件的用户来说,使用IMAP4模式可以获得更快的响应时间。
  2. 支持多个客户同时连接到一个邮箱,POP3协议假定邮箱当前的连接是唯一的连接。相反IMAP4协议允许多个用户同时访问邮箱同时提供一种机制让客户能够感知其他当前连接到这个邮箱的用户所做的操作。
  3. 支持访问消息中的MIME部分和部分获取。几乎所有的Internet邮件都是以MIME格式传输的。MIME允许消息包含一个树型结构,这个树型结构的叶子节点都是单一内容类型而非叶子节点都是多块类型的组合。IMAP4协议允许客户端获取任何独立的MIME部分和获取信息的一部分或者全部,这些机制使得用户无需下载附件就可以浏览消息内容或者在获取内容的同时浏览。
  4. 支持在服务器保留消息状态信息。通过使用在IMAP4协议中定义的标志客户端可以跟踪消息状态,例如邮件是否被读取,回复,或者删除。这些标识存储在服务器,所以多个客户在不同时间访问一个邮箱可以感知其他用户所做的操作。
  5. 支持在服务器上访问多个邮箱,IMAP4客户端可以在服务器上创建,重命名,或删除邮箱(通常以文件夹形式显现给用户)。支持多个邮箱还允许服务器提供对于共享和公共文件夹的访问。
  6. 支持服务器端搜索。IMAP4提供了一种机制给客户使客户可以要求服务器搜索符合多个标准的信息。在这种机制下客户端就无需下载邮箱中所有信息来完成这些搜索。
  7. 支持一个定义良好的扩展机制。吸取早期Internet协议的经验,IMAP的扩展定义了一个明确的机制。很多对于原始协议的扩展已被提议并广泛使用。无论使用POP3还是IMAP4来获取消息,客户端使用SMTP协议来发送。邮件客户可能是POP客户端或者IMAP客户端,但都会使用SMTP

IMAP4协议的工作原理[ ]

  • IMAP4协议适用于C/S构架中,IMAP4协议对于提供邮件访问服务且使用广泛的POP3协议的另一种选择,基本上两者都是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件。IMAP4协议支持对服务器上的邮件进行扩展性操作,IMAP4也支持ASCII码明文传输密码。
  • 与POP3不同的是,IMAP4能支持离线和在线两种模式来传输数据,表现如下:
  1. 在离线方式中,客户端程序会不间断的连接服务器下载未阅读过的邮件到本地磁盘,当客户端需要接受或者发送邮件时才会于服务器建立连接,这就是离线访问模式。POP3典型地以离线方式工作。
  2. 在线模式中,一直都是由客户端程序来操作服务器上的邮件,不需要像离线模式那样把邮件下载到本地才能阅读,(即使用户把邮件下载到本地,服务器上也会存一份副本,而不会像POP协议那样把邮件删除)。用户可以通过客户端程序或者Web在线浏览邮件,一些POP3服务器也提供了在线功能,但是,它们没有达到IMAP4的浏览功能的级别。
  • IMAP4是分布式存储邮件方式,本地磁盘上的邮件状态和服务器上的邮件状态,可能和以后再连接时不一样。此时IMAP4的分布式存储机制解决了这个问题,IMAP4邮件的客户端软件能够记录用户在本地的操作,当他们连上网络后会把这些操作传送给服务器。当用户离线的时候服务器端发生的事件,服务器也会告诉客户端软件,比如有新邮件到达等,以保持服务器和客户端的同步。
  • IMAP4协议处理线程都处于4种处理状态的其中一种,大部分的IMAP4命令都只会在某种处理状态下才有效。如果IMAP4客户端软件企图在不恰当的状态下发送命令,则服务器将返回协议错误的失败信息,如BAD或NO等等。
  1. 非认证状态,在这个状态下,客户软件必须发出认证请求命令。在IMAP4连接建立时,服务器处理线程自动进入这个状态。
  2. 认证状态,在认证状态下,客户软件必须选择一个邮箱,这个状态在认证请求命令得到确认答复后进入,或在预认证连接建立后直接进入。
  3. 已选择状态,这个状态表示IMAP4客户软件已经选择了某一Folder,在这个状态下可以发送所有检索邮件内容的命令。
  4. 离线状态,在这个状态连接已经终止,服务器将关闭这个连接,客户端软件可以发出命令或由服务器强制进入这个状态。

IMAP4相关知识[ ]

不像大多数旧的Internet协议,IMAP4生来支持加密注册机制,IMAP4中也支持明文传输密码因为加密机制的使用需要客户端和服务器双方的一致,明文密码的使用是在在一些客户端和服务器类型不同的情况下(例如Microsoft Windows客户端和非Windows服务器),使用SSL也可以对IMAP4的通信进行加密,通过将在SSL上的IMAP4通信通过993端口传输或者在IMAP4线程建立的时候声明STARTTLS。

相关条目[ ]

参考来源[ ]