IMAP4

IMAP4

IMAP4(Internet Message Access Protocol 4) 即互動式數據消息訪問協議第四個版本。IMAP協議是由斯坦福大學的Mark Crispin教授在1986年開發的,後期版本是華盛頓州立大學進行開發的,IMAP4是TCP/IP協議族中的一員,現在的版本是“IMAP第四版第一次修訂版”(IMAP4rev1)。

IMAP4概述


IMAP4協議與POP3協議一樣也是規定個人計算機如何訪問網際網路上的郵件伺服器進行收發郵件的協議,但是IMAP4協議同POP3協議相比更高級。IMAP4協議支持客戶機在線或者離線訪問並閱讀伺服器上的郵件,還能互動式的操作伺服器上的郵件。IMAP4協議更人性化的地方是不需要像POP3協議那樣把郵件下載到本地,用戶可以通過客戶端直接對伺服器上的郵件進行操作(這裡的操作是指:在線閱讀郵件 在線查看郵件主題 大小 發件地址等信息)。用戶還可以在伺服器上維護自己郵件目錄(維護是指移動 新建 刪除 重命名 共享 抓取文本 等操作)。IMAP4協議彌補了POP3協議的很多缺陷,,由RFC3501定義。本協議是用於客戶機遠程訪問伺服器上電子郵件,它是郵件傳輸協議新的標準。

IMAP4協議的特性


IMAP4協議的默認埠:143
IMAP4協議默認傳輸協議:TCP/IP
IMAP4協議適用的網路構架:C/S
IMAP4協議訪問模式:離線/在線
IMAP4協議存儲郵件模式:分散式

IMAP協議的特點


與POP3協議類似,IMAP(Internet消息訪問協議)也是提供面向用戶的郵件收取服務。常用的版本是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協議的工作原理


1.IMAP4協議適用於C/S構架中,IMAP4協議對於提供郵件訪問服務且使用廣泛的POP3協議的另一種選擇,基本上兩者都是規定個人計算機如何連接到網際網路上的郵件伺服器進行收發郵件。IMAP4協議支持對伺服器上的郵件進行擴展性操作,IMAP4也支持ASCII碼明文傳輸密碼。
2.與POP3不同的是,IMAP4能支持離線和在線兩種模式來傳輸數據,①在離線方式中,客戶端程序會不間斷的連接伺服器下載未閱讀過的郵件到本地磁碟,當客戶端需要接受或者發送郵件時才會於伺服器建立連接,這就是離線訪問模式。POP3典型地以離線方式工作。②在線模式中,一直都是由客戶端程序來操作伺服器上的郵件,不需要像離線模式那樣把郵件下載到本地才能閱讀,(即使用戶把郵件下載到本地,伺服器上也會存一份副本,而不會像POP協議那樣把郵件刪除)。用戶可以通過客戶端程序或者Wed在線瀏覽郵件(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”。