freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[互聯(lián)網(wǎng)]網(wǎng)絡(luò)程序設(shè)計(jì)-郵件傳輸-資料下載頁(yè)

2024-12-07 22:39本頁(yè)面
  

【正文】 OP3命令有: Noop Stat Quit List Retr Top Dele Rset Uidl。使用這些命令進(jìn)行各種郵件操作, POP對(duì)話的大部分時(shí)間都處在事務(wù)狀態(tài)中。 POP3會(huì)話的三個(gè)狀態(tài) 當(dāng)客戶發(fā)出 Quit命令后,結(jié)束事務(wù)狀態(tài), POP會(huì)話過(guò)程進(jìn)入更新?tīng)顟B(tài)。在事務(wù)狀態(tài)進(jìn)行的一些操作,最終在更新?tīng)顟B(tài)中才得以體現(xiàn)。比如在事務(wù)狀態(tài)使用 Dele命令刪除郵件,實(shí)際服務(wù)器并沒(méi)有將郵件刪除,只是做了一個(gè)刪除標(biāo)志;到了會(huì)話過(guò)程的更新?tīng)顟B(tài),郵件才被刪除。更新?tīng)顟B(tài)只是會(huì)話中的一個(gè)過(guò)程,該狀態(tài)沒(méi)有可使用的命令,目的是用戶在事務(wù)狀態(tài)后用以確認(rèn)已經(jīng)進(jìn)行的操作。在進(jìn)入該狀態(tài)后,緊接著就完成了 POP3的會(huì)話過(guò)程,斷開(kāi)了與服務(wù)器的連接。要注意,由于異常原因?qū)е碌呐c服務(wù)器終止對(duì)話并沒(méi)有進(jìn)入更新?tīng)顟B(tài)。在事務(wù)狀態(tài)刪除的郵件沒(méi)有被刪除,下次進(jìn)入信箱時(shí)郵件還是存在的。 POP3會(huì)話的三個(gè)狀態(tài) POP3流程分為如下 3個(gè)階段: ( 1)認(rèn)證。 ( 2)郵件接收。 ( 3)根據(jù) Transaction流程的定義,更新郵件信箱。 POP3接收郵件的流程圖如圖所示。與 SMTP相比,POP3的指令內(nèi)容較為簡(jiǎn)單,因?yàn)樵诿總€(gè)階段, RFC均定義了客戶端所發(fā)送指令的格式以及服務(wù)器端響應(yīng)的內(nèi)容。 ( 1)客戶端所發(fā)送的指令必須以 CRLF結(jié)尾,含義如表。 ( 2)服務(wù)器端響應(yīng)的信息,只有兩種情況。 ? +OK:表示指令執(zhí)行正確。 ? ?ERR:表示指令執(zhí)行錯(cuò)誤。 POP3會(huì)話的三個(gè)狀態(tài) 接收郵件流程圖 客戶端接收郵件流程: 1, 連接服務(wù)器; 2, 登陸服務(wù)器; 3, 接收郵件 POP3會(huì)話的三個(gè)狀態(tài) 此外,在 POP3的每個(gè)階段,均有相應(yīng)的指令應(yīng)用。 ( 1)認(rèn)證階段 在認(rèn)證階段中,所有客戶端指令如下表所示。 指 令 語(yǔ) 法 USER USERloginname PASS PASSpassword QUIT QUIT 認(rèn)證階段指令 POP3會(huì)話的三個(gè)狀態(tài) ( 2)郵件發(fā)送 在郵件發(fā)送階段中,所有客戶端指令如下表所示。 指 令 語(yǔ) 法 STAT STAT LIST LIST(mail ) RETR RETRmail DELE DELE NOOP NOOP RSET RSET POP3會(huì)話的三個(gè)狀態(tài) ( 3)更新郵件郵箱 當(dāng)客戶端執(zhí)行 QUIT指令與服務(wù)器端結(jié)束連接時(shí),則進(jìn)入 POP3的最后階段:更新,主要是將郵件發(fā)送階段中被 DELE指令刪除的郵件從郵件信箱中永久刪除。此階段沒(méi)有任何指令。 POP3標(biāo)準(zhǔn)命令 命令 說(shuō)明 USER 給出登錄驗(yàn)證的用戶名 PASS 給出登錄驗(yàn)證的口令 APOP 轉(zhuǎn)換驗(yàn)證機(jī)制 NOOP 空操作 STAT 命令服務(wù)器提供信箱大小的信息 LIST 命令服務(wù)器提供信箱大小的信息 常用的 POP3命令 POP3標(biāo)準(zhǔn)命令 RETR 從服務(wù)器取回信件 TOP 取出信頭和郵件的前 N行 DELE 為郵件作刪除標(biāo)記 。 RSET 復(fù)位 POP會(huì)話 UIDL 取出郵件的唯一標(biāo)識(shí)符 接收電子郵件的一般步驟 首先利用 Winsock連接上 POP3服務(wù)器,然后: 1.使用 USER命令發(fā)送用戶信箱名。 2.使用 PASS命令發(fā)送信箱密碼。如果密碼和信箱不匹配,必須從上一步驟重新開(kāi)始。 3.對(duì)信箱郵件進(jìn)行操作。 此階段稱為事務(wù)狀態(tài),在這一個(gè)階段,有許多POP3命令可以使用,大體分為下面幾類: ( 1)取得信箱及郵件狀態(tài)的命令 Stat:取得信箱大小信息 List:取得郵件大小信息 Uidl:取得郵件的唯一標(biāo)識(shí)符。 接收電子郵件的一般步驟 ( 2)取得郵件內(nèi)容的命令 Retr:從服務(wù)器取回郵件 TOP: 取郵件信頭和信體的前 N行。 ( 3)對(duì)郵件進(jìn)行操作的命令 Dele:為郵件做刪除標(biāo)記。 Rset:復(fù)位 POP會(huì)話。 4.接收郵件完畢,發(fā)送 QUIT命令,結(jié)束 POP3對(duì)話。 POP3客戶端程序 Socket類實(shí)現(xiàn) POP3接收郵件流程圖 POP3客戶端程序 Socket類實(shí)現(xiàn) 接收郵件流程如上圖所示。下面分別說(shuō)明客戶端接收郵件和處理服務(wù)器端返回信息的方法。 POP3客戶端程序的 Socket實(shí)現(xiàn)說(shuō)明 IPAddress IPAdd。 IPEndPoint IPEndAdd。 IPHostEntry IPHost。 //與郵件服務(wù)器建立連接 try { IPHost = (strHost)。 IPAdd = [0]。 IPEndAdd = new IPEndPoint((),(strPort))。 (IPEndAdd)。 POP3客戶端程序 Socket類實(shí)現(xiàn) if (!) { // 用戶認(rèn)證 strMsg =USER+strUser。 if (!POP3Request(strMsg)) return (false)。 if (!POP3Response( )) return(false)。 // PASS strMsg=PASS+strPass。 if (!POP3Request(strMsg)) return (false)。 if (!POP3Response( )) return(false)。 //STAT strMsg =STAT。 if (!POP3Request(strMsg)) return (false)。 bytes = (ReceBytes,0)。 strResponse = (RecvBytes,0,bytes)。 … if (! (+OK)){ … return (false)。 } //+OKSize String[ ] strTemp=(.ToCharArray( ))。 totalMail=(strTemp[1].Trim( ).ToString( ))。 mailSize=Int (strTemp[2].Trim( ).ToString( ))。 } //認(rèn)證成功后,便可發(fā)送郵件。由客戶端發(fā)送 RETR指令至服務(wù)器端, //待服務(wù)器端返回信息,便讀取郵件標(biāo)題及內(nèi)容, //其中,通過(guò)“ .”判斷郵件內(nèi)容結(jié)束。 try { strMsg = RETR+mailNo。 if (!POP3Request (strMsg)) return (false)。 do { bytes = (RecvBytes,0)。 if (bytes 0 ) { strResponse = (RecvBytes,0,bytes)。 if (blnFlag) { if(!(+OK)){ … return (false)。 } blnFlag=false。 } strContent = strContent + strResponse; if( ( ).EndWith (.) break。 } else break。 } While (true)。 = strContent。 … return (true)。 } Catch (Exception ex){ return (false)。 } } //定義 POP3Request函數(shù) private bool POP3Request (String strMsg) { byte[ ] byteMsg。 strMsg = strMsg +\r \n。 try{ byteMsg = ( ( ))。 (byteMsg,)。 … return (true)。 } //定義 POP3Response函數(shù) Private bool POP3Response ( ) { Byte[ ] RecvBytes = new byte[256]。 string strResponse= 。 int bytes。 try { bytes = (RecvBytes, ,0)。 strResponse = (RecvBytes,0,bytes)。 … if (! (+OK)) { … ()。 ( )。 return (false)。 } else return (true)。 } POP3客戶端程序 Socket類實(shí)現(xiàn) catch (Exception ex) { … ()。 ( )。 return (false)。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1