POP3

POP3

POP3,全名為“Post Office Protocol - Version 3”,即“郵局協定版本3”。是TCP/IP協定族中的一員,由RFC1939 定義。本協定主要用於支持使用客戶端遠程管理在伺服器上的電子郵件。提供了SSL加密的POP3協定被稱為POP3S。

POP 協定支持“離線”郵件處理。其具體過程是:郵件傳送到伺服器上,電子郵件客戶端調用郵件客戶機程式以連線伺服器,並下載所有未閱讀的電子郵件。這種離線訪問模式是一種存儲轉發服務,將郵件從郵件伺服器端送到個人終端機器上,一般是PC機或 MAC。一旦郵件傳送到 PC 機或MAC上,郵件伺服器上的郵件將會被刪除。但目前的POP3郵件伺服器大都可以“只下載郵件,伺服器端並不刪除”,也就是改進的POP3協定。

基本介紹

  • 中文名:郵局協定版本3
  • 外文名:Post Office Protocol - Version 3
  • 縮寫:POP3
  • 定義者:RFC1939 定義
  • 支持:客戶端遠程管理電子郵件
  • 作用:只下載郵件,伺服器端並不刪除
協定特性,原理,適用範圍,POP協定,命令回響,三種狀態,命令語句,POP3命令碼,等待,監聽,中斷,鎖定,處理機制,操作指南,常見問題,

協定特性

POP3協定默認連線埠:110
POP3協定默認傳輸協定:TCP
POP3協定適用的構架結構:C/S
POP3協定的訪問模式:離線訪問
POP3協定示意如下圖所示。
POP3協定POP3協定

原理

適用範圍

POP適用於C/S結構的脫機模型的電子郵件協定,目前已發展到第三版,稱POP3。脫機模型即不能線上操作,POP不支持對伺服器郵件進行擴展操作,此過程需要更高級的IMAP4協定來完成。支持POP協定使用ASCII碼來傳輸數據訊息,這些數據訊息可以是指令,也可以是應答。
POP3POP3

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]
認可Digest是MD5訊息摘要
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協定在TCP/110連線埠上等待客戶連線請求。

監聽

若密碼為明文,我如何監聽?下面的命令在伺服器運行後在螢幕上顯示POP3連線及命令傳送的過程:
POP3POP3
#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
POP3POP3
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 操作圖
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,可以安全傳輸用戶密碼,避免了安全隱患.

相關詞條

熱門詞條

聯絡我們