協定特性 POP3協定默認連線埠:110
POP3協定適用的構架結構:C/S
POP3協定的訪問模式:離線訪問
POP3協定示意如下圖所示。
POP3協定 原理 適用範圍 POP適用於C/S結構的脫機模型的
電子郵件協定 ,目前已發展到第三版,稱POP3。脫機模型即不能線上操作,POP不支持對
伺服器 郵件進行擴展操作,此過程需要更高級的IMAP4協定來完成。支持POP協定使用ASCII碼來傳輸數據訊息,這些數據訊息可以是指令,也可以是應答。
POP3 POP協定 協定支持 離線郵件處理,當郵件傳送到
伺服器 後,電子
郵件客戶端 會調用郵件客戶端程式,下載所有未閱讀的電子郵件(這種離線訪問模式是一種存儲轉發服務).當郵件從
郵件伺服器 傳送到
個人計算機 上,同時郵件伺服器會刪除該郵件(但是目前很多POP3伺服器都支持“下載郵件,伺服器並不刪除郵件”,也就是說在POP3中改進了POP協定).
命令回響 POP3客戶向POP3
伺服器 傳送命令並等待回響,POP3命令採用命令行形式,用ASCII碼錶示。伺服器回響是由一個單獨的命令行組成或多個命令行組成,回響第一行以ASCII文本+OK或-ERR(OK指成功,-ERR指失敗)指出相應的操作狀態是成功還是失敗。
三種狀態 認證狀態,處理狀態和更新狀態。當客戶機與
伺服器 建立連線時,客戶機向伺服器傳送自己身份(這裡指的是賬戶和密碼)並由伺服器成功確認,即客戶端由認可狀態轉入處理狀態,在完成列出未讀郵件等相應的操作後客戶端發出quit命令,退出處理狀態進入更新狀態,開始下載未閱讀過的郵件到計算機本地之後最後重返認證狀態確認身份後斷開與伺服器的連線。具體原理如下圖
等待連線身份確認quit命令
C——|認證|—————|處理|——————|更新|----S
|__________________________________|
重返認證狀態。
命令語句 目前大多數POP客戶端和服務端都是採用ASCII碼來明文傳送用戶名和密碼,在認證狀態下服務端等待客戶端連線時,客戶端發出連線請求,並把由命令構成的user/pass用戶身份信息數據明文傳送給服務端。
服務端確認客戶端身份以後,連線狀態由認證狀態轉入處理狀態,為了避免傳送明文口令的安全問題,有一種新的更為安全的認證方法,命名為APOP,使用APOP,口令在傳輸之前就被加密,當客戶端與服務端第一次建立連線時,POP3
伺服器 向客戶端傳送一個ASCII碼文本的問候,這個問候是由一串
字元 組成對每個客戶機是唯一的,內容一般都是當地時間之類的。然後客戶端把它的純文本口令附加到剛才接受的字元串之後,接著計算出新的字元串的MD5單出函式值的訊息數據,最後客戶機把用戶名和MD5加密後的
訊息摘要 作為APOP命令的參數一起傳送到伺服器。但是目前大多數windows上的
郵件客戶端 不支持APOP協定。
qpopper 支持。
POP3命令碼 命令
描述
USER [username]
處理用戶名
PASS [password]
處理用戶密碼
APOP [Name,Digest]
STAT
處理請求
伺服器 發回關於信箱的統計資料,如郵件總數和總位元組數
UIDL [Msg#]
處理返回郵件的唯一
標識符 ,POP3會話的每個標識符都將是唯一的
LIST [Msg#]
處理返回郵件數量和每個郵件的大小
RETR [Msg#]
處理返回由參數標識的郵件的全部文本
DELE [Msg#]
處理
伺服器 將由參數標識的郵件標記為刪除,由quit命令執行
RSET
處理
伺服器 將重置所有標記為刪除的郵件,用於撤消DELE命令
TOP [Msg# n]
處理
伺服器 將返回由參數標識的郵件前n行內容,n必須是正整數
NOOP
QUIT
終止會話
a.客戶機希望結束這次會話
b.如果
伺服器 處於‘處理’狀態,那么將進入‘更新’狀態以刪除任何標記為刪除的郵件
c.導致由處理狀態到更新狀態,又重返認可狀態的轉變
d.如果這個命令發出時伺服器處於‘認可’狀態,則結束會話,不進行‘更新’狀態。
等待 監聽 若密碼為明文,我如何監聽?下面的命令在
伺服器 運行後在螢幕上顯示POP3連線及命令傳送的過程:
POP3 #sniffit-a-A.-p110-b-s192.169.11.12
note:192.168.11.12是客戶機IP位址
你需要事先安裝sniffit這個連線埠監聽程式
中斷 考慮這種情況,若客戶在收取郵件時,假定為15封信等待接收,但由於線路問題,收到第10封時斷線了,為什麼下次收時仍然從第一封開始,也即為什麼前10封沒有被從
伺服器 上刪除掉?
任何郵件的刪除都必須在quit命令發出後對已標記為刪除的郵件執行刪除操作,由於中途斷線,仍處於處理狀態,沒有機會執行quit命令以進行狀態轉換。
鎖定 pop3 session is locked by another session,please wait 10 minutes then try again.
由於非正常操作引起POP3程式內部機制鎖住該次會話。
處理機制 Foxmail與OE(outlookexpress)的處理機制的不同。
a.假定
伺服器 上有三封郵件等待客戶機接收。用foxmail與OE的不同之處在於
foxmail每收一封標記刪除一封,而OE則等全部接收完後再全部標記為刪除最後執行quit命令。
FoxmailOE
-------------------------------
retr1retr1dele1retr2
POP3 retr2retr3
dele2dele1
retr3dele2
dele3dele3
quitquit
b.Foxmail的遠程郵件管理是非常優秀的
管理工具 ,假定
伺服器 上有三封信,對第一封,我們不想接收
想從伺服器直接刪除;對第二封,想接收但不刪除,對第三封,這一次不想接收,分別標記後最後foxmail發出的命令是
dele1
retr2
quit
c.若沒有foxmail,正好有幾封很大的信堵住了,我不想接收,想直接刪除它,或者想查看這兩封是誰發的?
直接在windows的DOS視窗下用命令行操作,如:
#telnetmyispnet110
userusername
passpassword
list
dele3
dele5
quit
--
操作指南 伺服器 允許符合POP3(PostOfficeProtocol,Version3郵件投遞協定,版本3)的
郵件客戶端 連線Imail伺服器。這些郵件客戶端軟體包括OutlookExpress,Outlook,NetscapeMessenger或Communicator,Eudora,Pegasus,NuPOP,Z-Mail,FoxMail,TheBat,Kmail,和Unixmail。
POP3客戶端通常採用“off-line”離線方式訪問
郵件伺服器 ,會定時的訪問郵件伺服器,下載郵件到客戶的電腦上,然後和伺服器斷開。一般的,郵件被臨時的存儲在
伺服器 上,當客戶端下載這些郵件後,它們將被伺服器刪除,不再保留。對於那些總是在同一台電腦上閱讀郵件的用戶來說,這種方式是十分適合得。另外一種方式,稱為“online”線上方式,即
郵件客戶端 總是和伺服器保持連線。郵件被保持在伺服器上,客戶端不下載郵件到客戶機上,用戶可以線上的閱讀保留在伺服器上的郵件。那些經常使用不同電腦的用戶適合於這種方式。ImailPOP3服務可以作為Windows NT服務,完全隱藏的運行或者可以以有某些互動的方式運行。該服務將一直運行即使你登出系統。
IMail 同時提供另外一種訪問方式IMAP4(InternetMessageAccessProtocolVersion4).IMAP4服務同時提供“線上”和“離線”訪問方式。Logging On登入預設的,
POP3服務 利用系統賬號登入系統。你可以改變這種登入方式:
POP3 操作圖 POP3
1、在控制臺,啟動Services小程式。
2、選擇IMailPOP3 Server服務然後點擊Startup。
3、(可選)選擇您希望的StartupType。
4、在LogOnAs中,選擇正確的登入帳號:IMailServerSystemAccount.如果您有郵件
主機 採用WindowsNT用戶資料庫作為Imail用戶資料庫,那么你需要使用該賬號。AllowServicetoInteractwithDesktop.採用該賬號時,任何用戶登入系統時,桌面上都會有一個Imail的圖示。
ThisAccount.採用這種方式時,如果你的主機中沒有採用WindowsNT用戶資料庫的,你可以輸入你希望的用戶賬號;確認該賬號是一個主機管理員。如果您有郵件
主機 是利用外部資料庫的,確認該賬號可以訪問外部資料庫。
Configuringthe POP3 Server配置POP3
伺服器 如何配置
pop3服務 器:
1、在IMailAdministrator中,在左邊的面板中選擇“localhost”。
2、選擇“Services”目錄然後點擊POP3.POP3面板出現。
3、輸入以下描述的選項以配置POP3服務。
4、單擊按鈕Apply保存設定。
5、停止服務,等待5-10秒然後重新啟動服務。當你單擊按鈕Stop/Start後,將自動保存設定的改變。
常見問題 1. POP3是什麼?有什麼作用?
答: POP3是Post Office Protocol - Version 3的縮寫,即
郵局協定 版本3,是一種用來從
郵件伺服器 上讀取郵件的協定,用於將郵件從POP
伺服器 傳送到
用戶代理 .
負責接收郵件的用戶代理稱為POP客戶,負責傳送郵件的伺服器稱為POP伺服器.
2. 為什麼需要POP3?
答: 通過POP3協定,收信人不需要參與到與郵件伺服器之間的郵件讀取過程,簡化了用戶操作. 收信人可以“離線”地進行郵件處理,很方便地接收,閱讀郵件.
3. 什麼是POP命令和應答?
答: POP客戶使用POP命令向POP
伺服器 傳送請求,例如PASS命令傳送帳戶密碼,RETR命令請求傳送郵件內容等.
POP伺服器使用應答對此回應,“+OK”表示命令成功,"-ERR"表示命令失敗,後面是簡單的文字說明,例如"+OK Password required for Bob" 表示USER命令成功執行,需要客戶輸入密碼進行認證.
4. POP3協定有哪些狀態?
答: POP3有三種狀態: AUTHORIZATION(授權),TRANSACTION(處理),UPDATE(更新).
當TCP建立起來時,POP3進入"授權"狀態,客戶需要使用USER/PASS進行
身份驗證 . 通過驗證後,POP3進入"處理"狀態,客戶可以傳送LIST,RETR等命令來查詢,獲取郵件. 當客戶在此狀態下傳送"UPDATE"命令後,POP3進入"更新"狀態,伺服器處理完命令後又回到"授權"狀態.
5.
伺服器 收到客戶傳送的DELE命令後,郵件是否立即從伺服器上刪除?
答:伺服器收到DELE命令後,僅僅將郵件標記為刪除,真正的刪除操作在更新狀態下執行. 如果還未進入到更新狀態,客戶可以傳送RSET命令撤消以前的DELE命令.
6. POP3中用戶的密碼是明文傳送的,具有安全隱患,請問該怎么辦?
答: POP3使用PASS命令傳送用戶的密碼,並以明文傳送,因此具有安全隱患.
現在,POP3提供另外一個命令APOP,可以安全傳輸用戶密碼,避免了安全隱患.