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

正文內(nèi)容

郵件收發(fā)系統(tǒng)的設(shè)計(jì)—計(jì)算機(jī)畢業(yè)設(shè)計(jì)(完整版)

2025-01-20 16:54上一頁面

下一頁面
  

【正文】 機(jī)接力式傳送。當(dāng)接收者收到全部郵件后會(huì)接收到特別的序列,如果接收者成功處理了郵件,則返回OK 應(yīng)答。 命令與應(yīng)答對(duì)大小寫不敏感,也就是說,命令和應(yīng)答可以是大寫,小寫或兩者的混合,但這一點(diǎn)對(duì)用戶郵件名稱卻不一定是對(duì)的,因?yàn)橛械闹鳈C(jī)對(duì)用戶名大小寫是敏感的。下面討論 SMTP 命令和應(yīng)答。接收 SMTP 通過連接確認(rèn)命令來向發(fā)送 SMTP 確認(rèn)接收 SMTP。一些出錯(cuò)信息的回復(fù)路徑可能就是空的。例如,由傳遞主機(jī) A 接收的帶有如下參數(shù)的郵件時(shí), FROM: TO:,: 將會(huì)變成如下形式: FROM:: TO::. 此命令導(dǎo)致它的轉(zhuǎn)發(fā)路徑參數(shù)加 入轉(zhuǎn)發(fā)路徑緩沖區(qū)中。 當(dāng)接收 SMTP 收到一條信息時(shí), 無論是用作轉(zhuǎn)發(fā)還是此郵件已經(jīng)到達(dá)目的地,它都必須在郵件內(nèi)容的開始處加上時(shí)間戳這一行,這一行指示了接收到郵件主機(jī)和發(fā)出此郵件主機(jī)的標(biāo)識(shí),以及接收到郵件內(nèi)容的時(shí)間和日期。 當(dāng)處理后面的郵件數(shù)據(jù)指示部分成功時(shí)就需要特定的說明。 27 Oct 81 15:01:59 PST Date: 27 Oct 81 15:01:01 PST From: Subject: Improved Mailing System Installed To: This is to inform you that ... SEND (SEND) 第 XIII 頁 共 XLII 頁 此命令用于開始一個(gè)發(fā)送命令,將郵件發(fā)送到一個(gè)或多個(gè)終端上。 SEND OR MAIL (SOML) 此命令用于開始一個(gè)郵件操作將郵件內(nèi)容傳送到一個(gè)或多個(gè)終端上,或者傳送到郵箱中。 此命令清除回復(fù)路徑緩沖區(qū),轉(zhuǎn)發(fā)路徑緩沖區(qū)和郵件內(nèi)容緩沖區(qū),并且將此命令的回復(fù)路徑信息插入到回復(fù)路徑緩沖區(qū)中。一些出錯(cuò)信息的回復(fù)路徑可能就是空的。如果這是(已經(jīng)知道的)用戶名,返回用戶的全名和指定的郵箱。 QUIT (QUIT) 此命令指示接收方必須發(fā)送 OK 應(yīng)答然后關(guān)閉傳送信道。程序 A 就進(jìn)入初始狀態(tài),好象 通信信道剛打開一樣,這時(shí)它發(fā)送 220 準(zhǔn)備好服務(wù)信號(hào)。 MAIL, SEND,SOML 或 SAML 命令開始一個(gè)郵件操作。 COMMAND 語法格式 命令是由命令碼和其后的參數(shù)域組成的。 如果不選擇的話,系統(tǒng)選擇默認(rèn)的設(shè)置。正規(guī)的情況下,響應(yīng)由下面序列構(gòu)成:三位的數(shù)字, SP,一行文本和一個(gè)CRLF,或者也可以是一個(gè)多行響應(yīng)。第一部分稱為信件的頭部 (the header of the message),包括有關(guān)發(fā)送方、接收方、發(fā)送日期等信息。 4. 2 信件的頭部 4. 2. 1 信頭的一般格式 信頭的結(jié)構(gòu)比較復(fù)雜,信頭由若干信頭字段 (header field)組成,這些字段為用戶和程序提供了關(guān)于信件的信息。 結(jié)構(gòu)化字段有特定的格式,由語法分析程序檢測。 ( 1)空白符 像其它文本文件一樣,空白符包括空格符 (ASCII 碼 32)和制表符 Tab(ASCII碼 19)。如果在加引號(hào)的字符串中有包括在括號(hào)中的字符,那是字符串的一部分,不是注解。不過字段名稱大小寫有習(xí)慣的常用形式,如主題字段的大小寫形式通常為 Subject。說明實(shí)際提交發(fā)送這個(gè)信件的人,給出他的電子信箱地址。 與收信方有關(guān)的信頭字段 格式: TO: mailbox list 舉例: TO: 收信人字段。 其它的信頭字段 格式: Date: datetime 舉例: Date: Tue,04 Dec 2021 16:18:08 +800 日期字段: Date字段含有電子郵件創(chuàng)建的日期和時(shí)間。接收者 msg id 接受字段。為避免與以前的字段相混。有時(shí)發(fā)送方希望將備忘錄的一個(gè)副本給別人而不顯示出有一個(gè)副本被發(fā)送出去。 ( 5)擴(kuò)展字段 如果想在信頭中加入 RFC822 中沒有規(guī)定的字段,就需要?jiǎng)?chuàng)建非標(biāo)準(zhǔn)字段。產(chǎn)生郵件的軟件可以為所有發(fā)送的信件增加合適的 XMailer 字段,該字段不僅含有軟件的名稱,還包含軟件的版本號(hào)。需要的命名空間系統(tǒng)本身自帶了一部分,而且如果系統(tǒng)沒有你需要的命名空間的話,就可以自己編寫,本節(jié)中的這個(gè)命名空間就是由于需要而編寫的。 3) 一維字符串?dāng)?shù)組變量 FilePath 此字符串?dāng)?shù)組主要用來存放用戶選擇的附件的絕對(duì)路徑名,并在發(fā)送帶附件的郵件時(shí)用到。 ()。 //設(shè)定一個(gè)布爾類型的變量 bool state=false。具體實(shí)現(xiàn)代碼如下所示: private string RecvResponse() { int StreamSize=0。不同的是參數(shù)是字符串類型的 那個(gè)函數(shù),每次發(fā)送一條命令,并接受服務(wù)器的響應(yīng),根據(jù)響應(yīng)的信息來判斷交互的結(jié)果是否成功。 } else { flag=false。具體的實(shí)現(xiàn) SMTP 協(xié)議的程序正是通過它一步一步實(shí)現(xiàn)并最終實(shí)現(xiàn)發(fā)送簡單郵件甚至帶附件的郵件的功能。 } string[] SendBuffer。 )) return false。 for(int i=0。 if(!Dialog(SendBufferstr,錯(cuò)誤信件信息 )) return false。 5. 2 AddExtra 類 這個(gè)附加的小類只是提供一些返回當(dāng)前系統(tǒng)時(shí)間,獲取主機(jī)名,主機(jī) IP,有關(guān)幫助等小的功能,在此僅對(duì)幫助信息中的“關(guān)于”操作函數(shù)稍加說明。 至此就完成了在 C Sharp 中調(diào)用 Windows API 函數(shù)的過程。 所以主要的測試也是圍繞發(fā)送郵件展開的,具體的可以分為以下幾個(gè)方面。由于帶有多附件的信件,所以寫入速度明顯慢于純文本郵件的速度。經(jīng)過這些驗(yàn)證可以證明本軟件支持對(duì)多個(gè)收件人發(fā)送多附件。而這個(gè)測試又可以分為以下兩個(gè)方面: 7. 1. 1 同一服務(wù)器,發(fā)送一封純文本郵件的測試 1) 發(fā)送一封文本郵件給一個(gè)收信人 測試中用 163 的郵箱分別往 163 的郵箱以及新浪的郵箱發(fā)送郵件均可以用FoxMail 正常的接收到發(fā)送的普通的純文本文件。指定這些發(fā)郵件的必須參數(shù)之后,再回到系統(tǒng)的主界面如下所示: 圖 新建郵件帳號(hào)界面 6. 2 發(fā)送郵件界面 6. 2. 1 發(fā)送不帶附件的郵件 在新建帳號(hào)的過程中已經(jīng)指定了郵件地址,和帳號(hào)名稱,所以默認(rèn)的以這些參數(shù)來發(fā)送郵件。 而調(diào)用顯示關(guān)于對(duì)話框的函數(shù) ShellAbout 還需要用到兩個(gè)命名空間如下所示 using 。 if(!Dialog(SendBufferstr,斷開連接時(shí)錯(cuò)誤 )) return false。i++) { SendBuffer[i]=RCPT TO: +address[i]+ + enter。 if(!Dialog(SendBufferstr,)) return false。 //進(jìn)行 SMTP 驗(yàn)證 //具體的 SMTP 命令與代碼的結(jié)合 if(ESmtp) { SendBuffer=new String[4]。 以下就簡單的通過幾個(gè) SMTP 命令的 格式來實(shí)現(xiàn) private bool SendEmail() { //連接網(wǎng)絡(luò) try { //建立一個(gè) TCP 連接 tc=new TcpClient(mailserver,mailserverport)。 } return flag。而他們的實(shí)現(xiàn)主要是通過調(diào)用上面的發(fā)送 SMTP 命令函數(shù)SendCommand 以及接受 SMTP 服務(wù)器響應(yīng)的函數(shù) RecvResponse 來實(shí)現(xiàn)的。 第 XXVII 頁 共 XLII 頁 //定義一個(gè)字節(jié)型的數(shù)組 byte[] ReadBuffer = new byte[1024] 。 //加入防錯(cuò)機(jī)制,可以有效提高程序運(yùn)行的效率和捕獲出錯(cuò)信息 try { //向網(wǎng)絡(luò)中寫入數(shù)據(jù) (WriteBuffer,0,)。 } 4) 將字符串編碼為 Base64 字符串的函數(shù) Base64Encode 由于 ESMTP 的 LOGIN 認(rèn)證機(jī)制是采用 Base64 編碼,當(dāng)用戶發(fā)出AUTHLOGIN 的命令后,服務(wù)器返回 334 的應(yīng)答碼等待用戶輸入。 5. 1. 2 主要成員函數(shù)說明 1) 重載的構(gòu)造函數(shù) SmtpMail() 此函數(shù)主要用于在初始化過程中,把用戶選擇的附件的路徑以參數(shù)的形式傳給 FilePath。 5. 1 發(fā)送郵件類 SmtpMail 5. 1. 1 主 要 成員變量說明 1) 網(wǎng)絡(luò)連接類及實(shí)例 TcpClient tc 為 TCP 網(wǎng)絡(luò)服務(wù)提供客戶端連接類 TcpClient 實(shí)例對(duì)象 tc。 圖 2 7 2 列出了一些在因特網(wǎng)電子郵件中可以找到的普通關(guān)鍵字,以及使用它們的目的。 RFC822 將這種方法稱為擴(kuò)展字段。創(chuàng)建消息的用戶 在關(guān)鍵字 Bcc 后給出一個(gè)電子郵件地址表,指定一個(gè)或多個(gè)盲復(fù)寫副本。 第 XXII 頁 共 XLII 頁 格式: MessageID: msgid 信件標(biāo)識(shí)字段。處理郵件投遞的每個(gè)服務(wù)器必須給它處理的每個(gè)信頭的前面加一個(gè) Received 字段,用以描述信件到達(dá)目的地所經(jīng)過的路徑以及相關(guān)信息。描述信件的主題。 格式: Cc: mailbox list 舉例: Cc: 抄送字段。比如,秘書 替經(jīng)理發(fā)信。比如 Subject 后面的字段體,其中的大寫可能就是縮寫的專用名詞,不能改動(dòng)。 ( 3)字段折疊 每個(gè)信頭字段從邏輯上說應(yīng)當(dāng)是一個(gè)由字段名、冒號(hào)、字段體和 CRLF 組成的單一的行,但為了書寫與顯示的方便,增加可 讀性,也為了符合 1000/80 的行字符數(shù)的限制,可以將超過 80 個(gè)字符的信頭字段 分為多行,即對(duì)于 比較長的字段,可以分割成幾行,形成折疊。使用空白符可以對(duì)字段進(jìn)行格式化,增加它的可讀性。 非結(jié)構(gòu)化的字段含有任意的數(shù)據(jù),沒有固定格式。 所有的信頭字段都具有相同的語法結(jié)構(gòu),從邏輯上說,包括四部分,字段名(field name),緊跟冒號(hào) : (colon),后跟字段體 (field body),最后以回車換行符(CRLF)終止。信頭是必需的,信體是可選的,即信體可有可無。 REPLY CODES BY FUNCTION GROUPS 500 格式錯(cuò)誤,命令不可識(shí)別(此錯(cuò)誤也包括命令行過長) 501 參數(shù)格式錯(cuò)誤 502 命令不可實(shí)現(xiàn) 503 錯(cuò)誤的命令序列 504 命令參數(shù)不可實(shí)現(xiàn) 211 系統(tǒng)狀態(tài)或系統(tǒng)幫助響應(yīng) 214 幫助信息 220 domain 服務(wù)就緒 221 domain 服務(wù)關(guān)閉傳輸信道 421 domain 服務(wù)未就緒,關(guān)閉傳輸信道(當(dāng)必須關(guān)閉時(shí),此應(yīng)答可以作為對(duì)任何命令的響應(yīng)) 250 要求的郵件操作完成 251 用戶非本地,將轉(zhuǎn)發(fā)向 forwardpath 450 要求的郵件操作未完成,郵箱不可用(例如,郵箱忙) 550 要求的郵件操作未完成,郵箱不可用(例如, 郵箱未找到,或不可訪問) 451 放棄要求的操作;處理過程中出錯(cuò) 551 用戶非本地,請(qǐng)嘗試 forwardpath 452 系統(tǒng)存儲(chǔ)不足,要求的操作未執(zhí)行 552 過量的存儲(chǔ)分配,要求的操作未執(zhí)行 553 郵箱名不可用,要求的操作未執(zhí)行(例如郵箱格式錯(cuò)誤) 354 開始郵件輸入,以 CRLF.CRLF結(jié)束 554 操作失敗 第 XVIII 頁 共 XLII 頁 4 RFC822 說道發(fā)送和接受郵件,我們就必須不得不提 RFC822 了。每個(gè)命令必須有且只有一個(gè)響應(yīng)。因?yàn)橄旅娴拿畹淖饔檬窍嗤模? MAIL Mail mail MaIl mAIl 第 XVI 頁 共 XLII 頁 這對(duì)于引導(dǎo)任何參數(shù)值的標(biāo)記也是適用的,如 TO 和 to 就是一樣的。郵件操作可以由 RSET 命令終止。程序 A 就進(jìn)入初始狀態(tài),好象
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1