IMAP4(Internet Message Access Protocol 4) 即 交互式数据消息访问协议第四个版本。IMAP协议是由
斯坦福大学的Mark Crispin教授在1986年开发的,后期版本是
华盛顿州立大学进行开发的,IMAP4是
TCP/IP协议族中的一员,现在的版本是“IMAP第四版第一次修订版”(IMAP4rev1)。
概述
IMAP4协议与POP3协议一样也是规定个人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。IMAP4支持协议客户机在线或者离开访问并阅读
服务器上的
邮件,还能交互式的操作服务器上的邮件。IMAP4协议更人性化的地方是不需要像POP3协议那样把
邮件下载到本地,用户可以通过
客户端直接对
服务器上的邮件进行操作(这里的操作是指:在线阅读邮件 在线查看邮件主题 大小 发件地址等信息)。用户还可以在
服务器上维护自己
邮件目录(维护是指移动)新建 删除
重命名共享 抓取文本 等操作)。IMAP4协议弥补了POP3协议的很多缺陷,,由RFC3501定义。本协议是用于客户机
远程访问服务器上
电子邮件,它是
邮件传输协议新的标准。
协议特性
IMAP4协议存储邮件模式:分布式
协议特点
与POP3协议类似,IMAP(Internet消息访问协议)也是提供面向用户的邮件收取服务。常用的版本是IMAP4。IMAP4改进了POP3的不足,用户可以通过浏览信件头来决定是否收取、删除和检索邮件的特定部分,还可以在
服务器上创建或更改文件夹或邮箱,它除了支持POP3协议的脱机操作模式外,还支持
联机操作和断连接操作。它为用户提供了有选择的从
邮件服务器接收邮件的功能、基于服务器的信息处理功能和共享信箱功能。IMAP4的脱机模式不同于POP3,它不会自动删除在
邮件服务器上已取出的邮件,其联机模式和断连接模式也是将邮件服务器作为“远程文件服务器”进行访问,更加灵活方便。
支持功能
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
工作原理
1.IMAP4协议适用于C/S构架中,IMAP4协议对于提供邮件访问服务且使用广泛的POP3协议的另一种选择,基本上两者都是规定个人计算机如何连接到
互联网上的
邮件服务器进行收发邮件。IMAP4
协议支持对
服务器上的
邮件进行扩展性操作,IMAP4也支持ASCII码明文传输密码。
2.与POP3不同的是,IMAP4能支持
离线和在线两种模式来传输数据,①在离线方式中,
客户端程序会不间断的连接
服务器下载未阅读过的邮件到
本地磁盘,当客户端需要接收或者发送邮件时才会于
服务器建立连接,这就是离线访问模式。POP3典型地以
离线方式工作。②在线模式中,一直都是由
客户端程序来操作服务器上的
邮件,不需要像
离线模式那样把邮件下载到本地才能阅读,(即使用户把邮件下载到本地,服务器上也会存一份副本,而不会像POP协议那样把邮件删除)。用户可以通过
客户端程序或者Web在线浏览邮件(IMAP4提供的浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息,同时还可以享受选择性下载附件的服务)。一些POP3
服务器也提供了在线功能,但是,它们没有达到IMAP4的浏览功能的级别。
3.IMAP4是分布式存储邮件方式,
本地磁盘上的邮件状态和
服务器上的邮件状态,可能和以后再连接时不一样。此时,IMAP4的分布式存储机制解决了这个问题。IMAP4邮件的客户端
软件能够记录用户在本地的操作,当他们连上网络后会把这些操作传送给
服务器。当用户
离线的时候
服务器端发生的事件,
服务器也会告诉
客户端软件,比如有新邮件到达等,以保持服务器和
客户端的同步。
4.IMAP4协议处理线程都处于4种处理状态的其中一种。大部分的IMAP4命令都只会在某种处理状态下才有效。如果IMAP4客户端
软件企图在不恰当的状态下发送命令,则
服务器将返回协议错误的失败信息,如BAD或NO等等。
非认证状态
在这个状态下,客户
软件必须发出认证请求命令。在IMAP4连接建立时,
服务器处理线程自动进入这个状态。
认证状态
在认证状态下,客户
软件必须选择一个邮箱。这个状态在认证请求命令得到确认答复后进入,或在预认证连接建立后直接进入。
已选择状态
这个状态表示IMAP4客户
软件已经选择了某一Folder。在这个状态下可以发送所有检索邮件内容的命令。
在这个状态,连接已经终止,
服务器将关闭这个连接。
客户端软件可以发出命令或由
服务器强制进入这个状态。
不像大多数旧的Internet协议,IMAP4生来支持加密注册机制。IMAP4中也支持明文传输密码。因为加密机制的使用需要
客户端和服务器双方的一致,
明文密码的使用是在在一些客户端和
服务器类型不同的情况下(例如Microsoft Windows客户端和非Windows服务器)。使用SSL也可以对IMAP4的通信进行加密,通过将在SSL上的IMAP4通信通过993端口传输或者在IMAP4线程建立的时候声明“”“STARTTLS”。