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 | 更新 | 退出 |