close
POP3

POP3
( Post Office Protocol - Version 3 )


郵件伺服器僅負責信件下載的相關工作, 其它處理工作交由電子郵件軟體負責。
郵件伺服器啟動後會傾聽 TCP Port 110
連線建立起來後, 郵件伺服器會傳回歡迎訊息。POP3 電子郵件軟體陸續送出指令, 郵件伺服器一一回應。

POP3 指令介紹


POP3 的指令列由『指令』與『參數』組成, 以 結尾。
指令與參數皆由可列印的 ASCII 字元組成, 兩者之間以一個空白字元隔開。

POP3 單列回應訊息


由『狀態指示碼』與『敘述文字』組成, 並以 結尾。
狀態指示碼:『+OK』代表『成功』,『-ERR』代表『錯誤』。

POP3 多列回應訊息


郵件伺服器送出第一列回覆訊息後, 便陸續送出其他敘述文字列, 最後再以一個『.』開頭的單獨列當作結尾:

POP3 各運作階段

認證階段


使用者必須通過身分認證程序。
郵件伺服器起碼得支援其中一種:
『USER』搭配『PASS』認證
『APOP』 (Authorization POP) 認證
『AUTH』 (Authorization) 認證

USER 搭配 PASS 認證 (1)


郵件軟體用 USER 指令送出者帳戶名稱, 再以 PASS 指令送出帳戶密碼:

USER 搭配 PASS 認證 (2)


伺服器回報『-ERR』訊息的情形:

APOP 認證


每次連上 POP3 伺服器, 都會取得不同的時間標記。
郵件軟體將時間標記與帳戶密碼以 MD5 (Message Digest 5) 編碼演算法處理, 產生編碼字串, 不需直接傳送密碼:

AUTH 認證


保留日後擴充『認證機制』與『信件完整性與私密性的保護機制』的彈性空間

處理階段


此階段下, 使用者可發出郵件處理指令, 要求郵件伺服器進行信件下載等工作。
郵件處理指令有:
STAT、LIST 、RETR 、DELE 、NOOP 、RSET 、TOP 、UIDL

STAT (State, 狀態)


詢問郵件伺服器:信箱內共有幾封信、 共佔多少儲存空間。
所回應的訊息格式為:


如:

LIST (列示)


傳回每封信件的長度。

RETR (Retrieve, 下載信件)


下載指定的信件內容。
RETR 信件編號:

DELE (Delete, 刪除)


將指定的信件標示成『刪除』。
DELE 信件編號

NOOP (No Operation, 無動作)


是一個不附任何參數, 也沒有任何作用的指令。

RSET (Reset, 重設)


將所有標示為『刪除』的信件, 全部還原成尚未標示成刪除的狀態。

TOP (最頂端的資料)


尋找指定的信件, 並傳回該信件最前面數列的內容。
TOP 信件編號 列數:

UIDL
(Unique-ID Listing, 識別碼列示)


將指定信件的識別碼列出來。
UIDL [信件編號] :

更新階段


完成所有信件下載工作後, 郵件軟體便可送出 QUIT 指令, 進入更新階段。
郵件伺服器會刪除掉『已標示刪除』的信件, 傳回『再見』訊息, 結束『更新』階段。

下載郵件實例 (1)

下載郵件實例 (2)

POP3 伺服器的其它功能 -
暫存郵件


以 RETR 指令下載一封信件後, 不再以 DELE 指令將該信件標示成刪除, 而讓信件保留在伺服器上。
為防止郵件信箱空間不夠用, 大多數的郵件伺服器都會設定信箱容量的上限值、 或定期刪除信件的機制。

POP3 伺服器的其它功能 -
限制服務對象


發信伺服器會依據使用者電腦的 IP 位址或發信人的電子郵件地址, 決定是否要轉送信件。
例如 ISP 機房裡的伺服器, 服務對象通常只限於它的用戶。
( 以上是指支援 SMTP 的 POP3 伺服器 )
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 hweily 的頭像
    hweily

    hweily

    hweily 發表在 痞客邦 留言(0) 人氣()