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

正文內(nèi)容

畢業(yè)論文電子郵件客戶端軟件(參考版)

2025-06-25 12:21本頁(yè)面
  

【正文】 除非另有說(shuō)明,本文的工作是原始性工作。然后我要感謝公司的同事,這次設(shè)計(jì)公司內(nèi)部同事的幫助下完成的,兩個(gè)多月的共同討論和相互鼓勵(lì)也給了我莫大的動(dòng)力,最后我要感謝一些精通Microsoft Visual Studio的朋友給我的幫助。 參考文獻(xiàn)[1] Simon Robinson, 高級(jí)編程. 北京:清華大學(xué)出版社, 2002,3[2] Tom Archer. C技術(shù)內(nèi)幕. 北京:清華大學(xué)出版社, 2002,1[3]. 北京:希望電子出版社 2001,3[4]羅軍舟,黎波濤,: 清華大學(xué)出版 2004,10 [5] Tim Parker .TCP/IP 協(xié)議及網(wǎng)絡(luò)編程技術(shù). 北京: 機(jī)械工業(yè)出版社 , 2000,7[6] 周存杰 . Visual C.NET網(wǎng)絡(luò)核心編程. 北京:清華大學(xué)出版社, 2002,11[7] 編程技巧典型案例解析. 北京:中國(guó)電力出版社,2005,8[8] 云顛工作室. Visual C中文版全面剖析. 北京:中國(guó)水利水電出版社, 2003,5 [9] 葉樹(shù)華 《電子協(xié)議與編程》,《電子郵件格式》,《電子郵件接收》,《mime 編碼解碼與發(fā)送附件》[10] MSDN中文網(wǎng)站網(wǎng)絡(luò)廣播 C設(shè)計(jì)模式縱談[11] 滁州,馬金虎,朱力勇. 編寫基于SMTP網(wǎng)絡(luò)應(yīng)用程序. 電腦愛(ài)好者,2003,5:92~94 [12] 滁州,馬金虎,朱力勇. 編寫基于POP3網(wǎng)絡(luò)應(yīng)用程序. 電腦愛(ài)好者,2003,6:92~94[13] 潘泰國(guó). 新一代電子郵件系統(tǒng). 電子技術(shù)應(yīng)用. 1992,11 [14] 代繼紅. SMTP認(rèn)證機(jī)制模塊化設(shè)計(jì)及實(shí)現(xiàn). 中南民族大學(xué)學(xué)報(bào)(自然科學(xué)版), 致 謝本論文的是2010年3月至2010年6月在電子科技大學(xué)內(nèi)完成的,其中在我進(jìn)行畢業(yè)設(shè)計(jì)的過(guò)程中很多人給了我?guī)椭???傊ㄟ^(guò)這次的編程,使我對(duì)網(wǎng)絡(luò)編程有了一個(gè)很好的認(rèn)識(shí)和鍛煉,也使我對(duì)C Sharp這一語(yǔ)言的掌握程度又上了一個(gè)新臺(tái)階,雖然編出來(lái)的軟件不能和功能強(qiáng)大的FoxMail相提并論,但是相信它簡(jiǎn)單,易操作性,和FoxMail的很多強(qiáng)大但卻“雞肋”似的功能比較起來(lái),更多了幾分實(shí)用性。在力求達(dá)到FoxMail功能的同時(shí),又加了一點(diǎn)個(gè)人的思想并把它體現(xiàn)到了這一軟件上。其中,具體的和服務(wù)器的交互操作。 8 結(jié)論這次編寫的郵件客戶端系統(tǒng),我負(fù)責(zé)的是郵件的發(fā)送的功能。7.2 利用不同的SMTP服務(wù)器發(fā)送郵件的測(cè)試這個(gè)方面的測(cè)試是指利用不同的郵箱來(lái)發(fā)送郵件,至于測(cè)試的分類雷同于利用同一服務(wù)器發(fā)送郵件的測(cè)試,所以不再此贅述。2)發(fā)送一封帶附件(可以是多附件)的郵件給多個(gè)收件人測(cè)試中用163的郵箱分別往163的郵箱以及新浪的郵箱發(fā)送之外,又添加了不同的郵件類型(個(gè)數(shù)分別為等于1,大于1即驗(yàn)證是否支持多附件的發(fā)送),用FoxMail接收之后,所有發(fā)送的純文本信息,以及附件信息都正常無(wú)誤。經(jīng)過(guò)這些驗(yàn)證可以證明本軟件支持對(duì)一個(gè)收件人發(fā)送多附件。7.1.2 同一服務(wù)器,發(fā)送一封帶附件的郵件的測(cè)試。2) 發(fā)送一封文本郵件給多個(gè)收件人測(cè)試中仍然用163的郵箱同時(shí)發(fā)往不同的郵箱,通過(guò)FoxMail都可以正常的接收到。7.1 同一SMTP服務(wù)器發(fā)送郵件的測(cè)試這個(gè)方面的測(cè)試測(cè)的是,用戶登錄一個(gè)服務(wù)器(測(cè)試中用的是163的SMTP服務(wù)器)來(lái)發(fā)送一封郵件的測(cè)試。 運(yùn)行界面如下所示:圖 發(fā)送帶有附件的郵件6.3 驗(yàn)證郵件發(fā)送是否成功 郵件發(fā)送出去之后,用FoxMail跟蹤接收之后,證明郵件和附件都可以正常接收,具體的FoxMail的接收界面如下所示:圖 驗(yàn)證發(fā)送的郵件是否成功7 系統(tǒng)測(cè)試我個(gè)人做的是這個(gè)軟件收發(fā)系統(tǒng)的一個(gè)最基本也是最主要的功能之一:發(fā)送郵件。 發(fā)送純文本郵件6.2.2 發(fā)送帶附件的郵件 和簡(jiǎn)單的郵件不同之處在于多了發(fā)送附件的功能,軟件模擬FoxMail里面發(fā)送郵件時(shí),在程序的下面自動(dòng)顯示增添的附件的名稱,以及圖標(biāo)等信息。通過(guò)調(diào)用參數(shù)的不同程序會(huì)自動(dòng)的調(diào)用相對(duì)應(yīng)的代碼來(lái)執(zhí)行不同的操作。 6 軟件運(yùn)行時(shí)的界面6.1 新建郵件帳號(hào)用戶打開(kāi)軟件之后,需要新建一個(gè)郵件帳號(hào),在這個(gè)信件帳號(hào)的過(guò)程中,需要指定SMTP服務(wù)器,SMTP的端口,以及用于ESMTP驗(yàn)證的用戶名和密碼。ShellAbout( ,郵件收發(fā)系統(tǒng),版本+ +.++. + , .Handle )。5.2.3 在程序中具體的使用Assembly ass=()。using 。因?yàn)樗f(shuō)明了在C Sharp 中調(diào)用 Windows API 函數(shù)所需如下幾個(gè)步驟:5.2.1 調(diào)用Windows API 所需的命名空間using 。 }以上即為發(fā)送不帶附件的郵件SMTP命令用代碼實(shí)現(xiàn)的過(guò)程。 FilePath=null。 //關(guān)閉流對(duì)象 ()。 SendBufferstr=QUIT + enter。SendBufferstr += enter + . + enter。 if(!Dialog(SendBufferstr,)) return false。 } if(!Dialog(SendBuffer,收件人地址有誤)) return false。i。 SendBuffer=new string []。 //把傳過(guò)來(lái)的收件人的地址分割然后提交給服務(wù)器 string split=。 } SendBufferstr=MAIL FROM: + From + + enter。 } else { SendBufferstr=HELO + mailserver + enter。 if(!Dialog(SendBuffer,SMTP服務(wù)器驗(yàn)證失敗,請(qǐng)核對(duì)用戶名和密碼。 SendBuffer[2]=Base64Encode(username) + enter。 SendBuffer[0]=EHLO + mailserver + enter。 string SendBufferstr。 //驗(yàn)證網(wǎng)絡(luò)連接是否正確 if(RightCodeHT[RecvResponse().Substring(0,3)]==null) { return false。 } //獲取當(dāng)前流的資料 ns = ()。 } catch { (連接失敗,請(qǐng)確認(rèn))。而它的實(shí)現(xiàn)是調(diào)用以上給出的各個(gè)函數(shù)的結(jié)果。 }8) 郵件發(fā)送程序 SendMail這是整個(gè)程序的核心部分。i++) { //循環(huán)調(diào)用單個(gè)的與服務(wù)器的交互過(guò)程 if(!Dialog(str[i],)) { return false。 }發(fā)送一組命令主要用于服務(wù)器驗(yàn)證的重載函數(shù)為:private bool Dialog(string[] str,string errstr) { for(int i=0。 } } else { flag=false。 //然后用這前三位與哈希表中正確的回應(yīng)碼比較 if(RightCodeHT[RRCode]!=null) { flag=true。 } if(SendCommand(str)) { string RR=RecvResponse()。具體的代碼如下所示:private bool Dialog(string str,string errstr) { bool flag=false。而參數(shù)是字符串?dāng)?shù)組的函數(shù)每次發(fā)送的是一組命令,用于和服務(wù)器的交互,這個(gè)函數(shù)主要是用于ESMTP服務(wù)器的驗(yàn)證的功能,因?yàn)轵?yàn)證的過(guò)程是一個(gè)等待然后又輸入的過(guò)程,因此將他們放在一個(gè)數(shù)組中有利于理解和操作。 }7) 重載的函數(shù) Dialog它們的作用是與服務(wù)器交互,發(fā)送命令并接收回應(yīng)。 } if (StreamSize!=0) { //將當(dāng)前讀取的信息轉(zhuǎn)換成字符串型然后返回ReturnValue= (ReadBuffer).Substring(0,StreamSize)。 try { //從網(wǎng)絡(luò)流中讀取數(shù)據(jù),并返回讀取的個(gè)數(shù) StreamSize=(ReadBuffer,0,)。 string ReturnValue =。 }6) 接受服務(wù)器應(yīng)答的函數(shù) RecvResponse它的作用就是從網(wǎng)絡(luò)流中讀取服務(wù)器返回的字節(jié)型的信息,將其轉(zhuǎn)換成字符串型的變量,然后將其返回,可以通過(guò)其返回值來(lái)判斷操作是否成功。 state=false。 state=true。 WriteBuffer = (str)。具體代碼如下所示:private bool SendCommand(string str) { //定義一個(gè)數(shù)組 byte[] WriteBuffer。此函數(shù)的作用就是把給定的字符串轉(zhuǎn)換成相應(yīng)的Base64編碼的字符串。如果身份確認(rèn)后服務(wù)器返回235的應(yīng)答碼,否則返回失敗信息。 return((by))。 (by,0,)。具體實(shí)現(xiàn)代碼如下所示:private string GetStream(string FilePath) { //建立文件流對(duì)象 FileStr=new (FilePath,)。2)添加附件的函數(shù) AddAttachment傳給FilePath的路徑,通過(guò)這樣一個(gè)函數(shù)就可以循環(huán)的動(dòng)態(tài)的添加到IList接口的一個(gè)對(duì)象中了,方便以后在具體的實(shí)現(xiàn)的過(guò)程中的使用。4)發(fā)送郵件所需的基本參數(shù)比如用于ESMTP等錄檢驗(yàn)用的用戶名、密碼,發(fā)送郵件需要的收信人,發(fā)信人地址以及主題等等在此不再贅述。其中最基本也是最重要的兩個(gè)方法就是Write()和Read()方法,至于參數(shù)不再次贅述。它的重載方法之一的兩個(gè)參數(shù)一個(gè)為服務(wù)器名稱字符串,另一個(gè)為服務(wù)器的埠。TcpClient 類提供了一些簡(jiǎn)單的方法,用于在同步阻塞模式下通過(guò)網(wǎng)絡(luò)來(lái)連接、發(fā)送和接收流數(shù)據(jù)。而調(diào)用某一個(gè)類中的某個(gè)變量成員的方法就是通過(guò) 來(lái)訪問(wèn)的,當(dāng)然在C Sharp 中如果在程序開(kāi)始通過(guò)Using 命名空間名,就可以直接的象C++那樣來(lái)訪問(wèn)成員變量,可以說(shuō)相當(dāng)?shù)姆奖?,這些都會(huì)在程序中體現(xiàn)出來(lái),再次不再做過(guò)多的敘述。而所有的類都?xì)w屬于一個(gè)特定的命名空間下。而且這樣做也方便了我們小組的程序的順利結(jié)合。關(guān)鍵字 含義From 發(fā)送方地址To 接收方地址Cc 復(fù)制副本地址Da
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1