二、POP3協(xié)議的三種狀態(tài):
1、確認狀態(tài):需要進行身份驗證,就是登陸郵箱賬號,登陸后轉(zhuǎn)為操作狀態(tài).
2、操作狀態(tài):查看郵件,郵件大小,數(shù)量.
3、更新狀態(tài):QUIT命令執(zhí)行后,將郵箱更新(刪除標記為刪除的郵件),然后立即重返確認狀態(tài)(需要重新身份驗證).
【2】身份認證方式:
一、常用的是郵箱賬號密鑰身份認證.(這個不說了,就是登陸)
二、APOP命令認證方式:
1、為了避免發(fā)送[明文賬號密鑰]的問題,一些POP服務(wù)器采用APOP命令認證方式.
2、使用APOP命令會在傳輸之前被加密.
3、只有少數(shù)郵箱軟件使用APOP命令(如qpopper).
認證過程:初次與POP服務(wù)器連接時,服務(wù)器發(fā)送一個ASCII碼問候(一串字符串,唯一的,與當前時間有關(guān)),客戶端程序把純文本口令添加到ASCII碼問候字符串之后,然后計算出該字符串的MD5單出函數(shù)消息摘要,再將賬號與MD5消息摘要作為APOP命令的參數(shù)一起發(fā)送給服務(wù)器.
【3】POP命令與服務(wù)器響應(yīng):
一、需要注意:
1、發(fā)送一個POP命令,服務(wù)器都會發(fā)送回來一個回應(yīng),表示成功與失敗.
2、郵件編碼:如郵件總數(shù)為5封,那么郵件編碼就是1~5.
3、下面的全部為字符串.
二、常用命令:
USER USER 郵箱賬號rn 登錄認證 PASS PASS 郵箱密鑰rn 登錄認證,登錄成功后,返回郵件總數(shù)和總字節(jié)數(shù) APOP APOP 用戶名,MD5消息摘要rn APOP方式登錄認證 STAT STATrn 郵件總數(shù)和總字節(jié)數(shù) UIDL UIDL 郵件編號rn
UIDLrn 方式一:獲取指定郵件唯一標識符(每一個郵件都有一個唯一標識符)
方式二:獲取所有郵件的唯一標識符(每一個編碼,對應(yīng)它的ID) LIST LIST 郵件編號rn
LISTrn 方式一:獲取指定郵件的字節(jié)大小(注意:不包括”.rn”的長度)
方式二:獲取所有郵件的字節(jié)大小(每一個編碼,對應(yīng)它的大小) RETR RETR 郵件編號rn 下載指定郵件,服務(wù)器會發(fā)送兩個封包,先發(fā)送長度(注意:不包括”.rn”的長度)
再發(fā)送整個郵件 DELE DELE 郵件編號rn 將指定郵件標記為刪除,當退出連接或QUIT命令時刪除指定的郵件
被標識刪除的郵件,不能再使用其他命令對其進行訪問 RSET RSETrn 撤銷所有DELE命令 TOP TOP 郵件編號 前n行rn 下載郵件的前n行內(nèi)容,服務(wù)器會發(fā)送兩個封包,先發(fā)送長度
(注意:是總長度,而且不包括”.rn”的長度)
再發(fā)送包括信頭的前n行郵件內(nèi)容 NOOP NOOPrn 讓服務(wù)器返回一個無意義的響應(yīng),僅能在操作狀態(tài)中使用 QUIT QUITrn 返回到確認狀態(tài)(需重新身份驗證),并將標記為刪除的郵件都刪除
三、服務(wù)器響應(yīng):
OK :命令執(zhí)行成功
-ERR :錯誤
【4】編寫郵件接收程序: (163郵箱為例)
一、注意:
1、每個郵件使用的字符集編碼可能是不同(UTF-8/GB2312),而且可能被Base64編碼加密.需要解析成明文.
二、客戶端步驟:
1、連接POP服務(wù)器,監(jiān)聽端口為110
2、發(fā)送USER和PASS進行明文身份驗證,PASS用的密鑰一般不是密碼了,是開啟POP服務(wù)時,提供給你的密鑰.
3、PASS發(fā)送后,會返回郵件總個數(shù)和總字節(jié)數(shù).
4、身份認證成功后,即可使用那幾條指令.(如:RETR命令查看指定的郵件).
5、QUIT退出并刪除標記為刪除的郵件.
6、由于代碼過多,不好再這里直接貼出來,我為使用POP3協(xié)議寫了一個C 類,可以很簡單的使用登錄郵箱,查看郵件,郵件大小,郵件ID,顯示郵件內(nèi)容等,有意學習登錄過程,解析郵件封包不同編碼的處理,可以下載學習一下:
POP3郵箱收信例子源碼下載地址:http://download.csdn.net/download/aaron133/10048490
【5】實驗效果:
如果,你對上面的內(nèi)容還有疑問,推薦選擇西部數(shù)碼企業(yè)云郵箱!有專人協(xié)助您解答郵箱疑問。
西部數(shù)碼企業(yè)云郵箱,采用分布式集群架構(gòu),數(shù)據(jù)多份寫入,規(guī)避單點故障,全球智能中繼,更安全穩(wěn)定。企業(yè)郵箱無限空間,極速收發(fā),支持層級子文件夾,郵件撤回,日程微信通知、郵件監(jiān)管、自定義工作報告功能、郵件歸檔、SSL部署等幾十項功能。而且價格實惠,還可以免費試用!
企業(yè)郵箱免費試用入口:http://www.bingfeng168.cn/services/mail/