郵件開發:POP3協議詳解

恆奇恆毅發表於2016-01-07

命令及其使用格式

說   

user<SP>username<CRLF>

user命令是POP3客戶端程式與POP3郵件伺服器建立連線後通常傳送的第一條命令,引數username表示收件人的帳戶名稱。

pass<SP>password<CRLF>

pass命令是在user命令成功通過後,POP3客戶端程式接著傳送的命令,它用於傳遞帳戶的密碼,引數password表示帳戶的密碼。

apop<SP>name,digest<CRLF>

apop命令用於替代userpass命令,它以MD5數字摘要的形式向POP3郵件伺服器提交帳戶密碼。

stat<CRLF>

stat命令用於查詢郵箱中的統計資訊,例如,郵箱中有郵件數和郵件佔用的位元組大小等。

uidl<SP>msg#<CRLF>

uidl命令用於查詢某封郵件的唯一識別符號,引數msg#表示郵件的序號,是一個從1開始編號的數字。

list<SP>[msg#]<CRLF>

list命令用於列出郵箱中的郵件資訊,引數msg#是一個可選引數,表示郵件的序號。當不指定引數時,POP3伺服器列出郵箱中所有的郵件資訊;當指定引數msg#時,POP3伺服器只返回該序號對應的郵件的資訊。

retr<SP>msg#<CRLF>

list命令用於獲取某封郵件的內容,引數msg#表示郵件的序號。

dele<SP>msg#<CRLF>

dele命令用於在某封郵件上設定刪除標記,引數msg#表示郵件的序號。POP3伺服器執行dele命令時,只是為郵件設定了刪除標記,並沒有真正把郵件刪除掉,只有POP3客戶端程式發出quit命令後,POP3伺服器才會真正刪除所有設定了刪除標記的郵件。

rset<CRLF>

rset命令用於清除所有郵件的刪除標記。

top<SP>msg#<SP>n<CRLF>

top命令用於獲取某封郵件的郵件頭和郵件體中的前n行內容,引數msg#表示郵件的序號,引數n表示要返回郵件的前幾行內容。使用這條命令以提高Web Mail系統(通過Web站點上收發郵件)中的郵件列表顯示的處理效率,因為這種情況下不需要獲取每封郵件的完整內容,而是僅僅需要獲取每封郵件的郵件頭資訊。

noop<CRLF>

noop命令用於檢測POP3客戶端與POP3伺服器的連線情況。

quit<CRLF>

quit命令表示要結束郵件接收過程,POP3伺服器接收到此命令後,將刪除所有設定了刪除標記的郵件,並關閉與POP3客戶端程式的網路連線。




相關文章