郵局協定
網際網路協定套組 |
---|
應用層 |
傳輸層 |
網路層 |
連結層 |
郵局協議(英語:Post Office Protocol,縮寫:POP)是TCP/IP協議族中的一員,由1996年5月發行之 RFC 1939 首次定義。此協議主要用於支持使用客戶端遠程管理在服務器上的電子郵件。最新版本為POP3,全名「Post Office Protocol - Version 3」,而提供了SSL加密的POP3協議被稱為POP3S。
POP支持離線郵件處理。其具體過程是:郵件發送到服務器上,電子郵件客戶端調用郵件客戶機程序以連接服務器,並下載所有未閱讀的電子郵件。這種離線訪問模式是一種存儲轉發服務,將郵件從郵件服務器端送到個人終端機器上,一般是PC機或Mac。一旦郵件下載到PC機或Mac上,郵件服務器上的郵件將會被刪除。但目前的POP3郵件服務器大都可以「只下載郵件,服務器端並不刪除」,也就是改進的POP3協議。
POP3通信舉例
在發送方(客戶端)和接收方(服務器)間建立連接之後,接下來是一個合法的POP3會話。在多數計算機系統上,可以在發送的機器上使用telnet命令來建立連接,比如:
telnet www.example.com 110
它打開一個從發送的機器到主機www.example.com的POP3連接。以下對幾個常用的pop3命令作一個簡單的介紹:
命令 | 參數 | 狀態 | 描述 |
---|---|---|---|
user | username | 認可 | 此命令與下面的pass命令若成功,將導致狀態轉換 |
pass | password | 認可 | |
apop | name,digest | 認可 | 一種安全傳輸口令的辦法,digest是md5消息摘要,執行成功導致狀態轉換,請參見 RFC 1321 |
stat | none | 處理 | 請求服務器發回關於郵箱的統計資料,如郵件總數和總字節數 |
uidl | [msg#] | 處理 | 返回郵件的唯一標識符,pop3會話的每個標識符都將是唯一的 |
list | [msg#] | 處理 | 返回郵件數量和每個郵件的大小 |
retr | [msg#] | 處理 | 返回由參數標識的郵件的全部文本 |
dele | [msg#] | 處理 | 服務器將由參數標識的郵件標記為刪除,由quit命令執行 |
rset | none | 處理 | 服務器將重置所有標記為刪除的郵件,用於撤消dele命令 |
top | [msg#],n | 處理 | 服務器將返回由參數標識的郵件前n行內容,n必須是正整數 |
noop | none | 處理 | 服務器返回一個肯定的響應,不做任何操作。 |
quit | none | 更新 | 退出 |
POP協定相關的RFC
- RFC 918 - "POST OFFICE PROTOCOL"(1984年10月)
- RFC 937 - "POST OFFICE PROTOCOL - VERSION 2"(1985年2月)
- RFC 1734 - "POP3 AUTHentication command"(1994年11月)
- RFC 1939 - "Post Office Protocol - Version 3"(1996年5月)
- RFC 2195 - "IMAP/POP AUTHorize Extension for Simple Challenge/Response"(1997年9月)
- RFC 2222 - "Simple Authentication and Security Layer (SASL)"(1997年10月)
- RFC 2449 - "POP3 Extension Mechanism"(1998年11月)
- RFC 2595 - "Using TLS with IMAP, POP3 and ACAP"(1999年6月)
- RFC 3206 - "The SYS and AUTH POP Response Codes"(2002年2月)