複製鏈接
請複製以下鏈接發送給好友

POP

(郵局協議)

鎖定
POP的全稱為 Post Office Protocol,即郵局協議,用於電子郵件的接收。本協議主要用於支持使用客户端遠程管理在服務器上的電子郵件。
中文名
郵局協議
外文名
Post Office Protocol
簡    稱
POP
作    用
用於電子郵件的接收

POP簡介

在Internet上使用電子郵件的早期,用户如果要讀取郵件,必須先登錄到郵件服務器上,不但速度慢,而且這些郵件服務器基於文本,沒有友好的界面,使用不便。於是出現了一些郵件協議,可以使郵件消息直接發送到用户自己的計算機上。在這些協議中使用最為廣泛的就是POP(Post Office Protocol,郵局協議)和IMAP(Internet Mail Access Protocol,互聯網郵件控制協議)。
POP是TCP/IP協議族中的一員,POP允許本地計算機上的用户代理程序連接到郵件服務器,將用户的郵件取回到本地,這樣用户就能在本地閲讀郵件了。本協議主要用於支持使用客户端遠程管理在服務器上的電子郵件。
創建一個分佈式電子郵件系統有多種不同的技術支持和途徑:POP(郵局協議)、DMSP(分層式電子郵件系統協議)和 IMAP(因特網信息訪問協議)。其中,POP 協議創建最早因此也最為人們瞭解;DMSP 具有較好的支持“無連接”操作的性能,但其很大程度上僅限於單個應用程序(PCMAIL);IMAP 提供了 POP 和 DMSP 的擴展集並提供對遠程郵件訪問的三種支持方式:離線、在線和無連接。
POP 協議支持“離線”郵件處理。其具體過程是:郵件發送到服務器上,電子郵件客户端調用郵件客户機程序以連接服務器,並下載所有未閲讀的電子郵件。這種離線訪問模式是一種存儲轉發服務,將郵件從郵件服務器端送到個人終端機器上,一般是 PC 機或 MAC。一旦郵件發送到 PC 機或 MAC 上,郵件服務器上的郵件將會被刪除。
POP誕生於1984年,POP 協議允許工作站動態訪問服務器上的郵件,目前已發展到第三版,稱為POP3(Post Office ProtocolVersion 3,郵局協議第3版),由RFC 1939 定義 [1] 
POP3 傳輸的是數據消息,這些消息可以是指令,也可以是應答。POP3 使用 TCP 作為傳輸協議,使用TCP的110號端口工作,它規定怎樣將個人計算機連接到Internet的郵件服務器和下載電子郵件的電子協議。POP3允許用户從服務器上把郵件存儲到本地主機(即自己的計算機)上,同時刪除保存在郵件服務器上的郵件,而POP3服務器則是遵循POP3協議的接收郵件服務器,用來接收電子郵件的。
POP3 並不支持對服務器上郵件進行擴展操作,此過程由更高級的 IMAP4 完成。

POP協議特性

POP3協議定義位置:RFC 1939
POP3協議默認端口:110
POP3協議默認傳輸協議:TCP
POP3協議適用的構架結構:C/S
POP3協議的訪問模式:離線訪問

POP工作原理

POPPOP協議

協議支持離線郵件處理,當郵件發送到服務器後,電子郵件客户端會調用郵件客户端程序,下載所有未閲讀的電子郵件(這種離線訪問模式是一種存儲轉發服務)。當郵件從郵件服務器發送到個人計算機上,同時郵件服務器會刪除該郵件(但是目前很多POP3服務器都支持“下載郵件,服務器並不刪除郵件”,也就是説在POP3中改進了POP協議)。

POPPOP3命令響應

POP3客户向POP3服務器發送命令並等待響應,POP3命令採用命令行形式,用ASCII碼錶示。服務器響應是由一個單獨的命令行組成或多個命令行組成,響應第一行以ASCII文本+OK或-ERR(OK指成功,-ERR指失敗)指出相應的操作狀態是成功還是失敗。

POPPOP3三種狀態

認證狀態,處理狀態和更新狀態。當客户機與服務器建立連接時,客户機向服務器發送自己身份(這裏指的是賬户和密碼)並由服務器成功確認,即客户端由認可狀態轉入處理狀態,在完成列出未讀郵件等相應的操作後客户端發出quit命令,退出處理狀態進入更新狀態,開始下載未閲讀過的郵件到計算機本地之後最後重返認證狀態確認身份後斷開與服務器的連接。

POP常用命令

命令
參數
狀態
描述
user
username
認可
此命令與下面的pass命令若成功,將導致狀態轉換
pass
password
認可
 
apop
name,digest
認可
一種安全傳輸口令的辦法,執行成功導致狀態轉換。
stat
none
處理
請求服務器發回關於郵箱的統計資料,如郵件總數和總字節數
uidl
[msg#]
處理
返回郵件的唯一標識符,pop3會話的每個標識符都將是唯一的
list
[msg#]
處理
返回郵件數量和每個郵件的大小
retr
[msg#]
處理
返回由參數標識的郵件的全部文本
dele
[msg#]
處理
服務器將由參數標識的郵件標記為刪除,由quit命令執行
rset
none
處理
服務器將重置所有標記為刪除的郵件,用於撤消dele命令
top
[msg#],n
處理
服務器將返回由參數標識的郵件前n行內容,n必須是正整數
noop
none
處理
服務器返回一個肯定的響應,不做任何操作。
quit
none
更新
退出
參考資料
  • 1.    潘愛民 譯.計算機網絡(第4版):清華大學出版社,2004年8月第4版