POP

郵局協議

POP的全稱為Post Office Protocol,即郵局協議,用於電子郵件的接收。本協議主要用於支持使用客戶端遠程管理在伺服器上的電子郵件。

簡介


在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(PostOffice ProtocolVersion 3,郵局協議第3版),由RFC1939定義。
POP3傳輸的是數據消息,這些消息可以是指令,也可以是應答。POP3使用TCP作為傳輸協議,使用TCP的110號埠工作,它規定怎樣將個人計算機連接到Internet的郵件伺服器和下載電子郵件的電子協議。POP3允許用戶從伺服器上把郵件存儲到本地主機(即自己的計算機)上,同時刪除保存在郵件伺服器上的郵件,而POP3伺服器則是遵循POP3協議的接收郵件伺服器,用來接收電子郵件的。

協議特性


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

工作原理


協議

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

命令響應

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

三種狀態

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

常用命令


命令參數狀態描述
userusername認可此命令與下面的pass命令若成功,將導致狀態轉換
passpassword認可
apopname,digest認可一種安全傳輸口令的辦法,執行成功導致狀態轉換。
statnone處理請求伺服器發回關於郵箱的統計資料,如郵件總數和總位元組數
uidl[msg#]處理返回郵件的唯一標識符,pop3會話的每個標識符都將是唯一的
list[msg#]處理返回郵件數量和每個郵件的大小
retr[msg#]處理返回由參數標識的郵件的全部文本
dele[msg#]處理伺服器將由參數標識的郵件標記為刪除,由quit命令執行
rsetnone處理伺服器將重置所有標記為刪除的郵件,用於撤消dele命令
top[msg#],n處理伺服器將返回由參數標識的郵件前n行內容,n必須是正整數
noopnone處理伺服器返回一個肯定的響應,不做任何操作。
quitnone更新退出