CS模式下的電子郵件系統(tǒng)設(shè)計與實現(xiàn)_第1頁
CS模式下的電子郵件系統(tǒng)設(shè)計與實現(xiàn)_第2頁
CS模式下的電子郵件系統(tǒng)設(shè)計與實現(xiàn)_第3頁
CS模式下的電子郵件系統(tǒng)設(shè)計與實現(xiàn)_第4頁
CS模式下的電子郵件系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

CS英式下的電子郵件系統(tǒng)設(shè)計與實現(xiàn)摘要:本文就網(wǎng)絡(luò)聊天服務(wù)器程序和網(wǎng)絡(luò)聊天客戶程序兩個方面展開論述。前者通過Socket套接字建立服務(wù)器,服務(wù)器能讀取,轉(zhuǎn)發(fā)客戶端發(fā)來信息。后者通過與服務(wù)器建立連接,來進(jìn)行客戶端與客戶端的信息交流。根據(jù)局域網(wǎng)通信機(jī)制的原理,通過直接繼承Thread類來建立多線程。在網(wǎng)絡(luò)編程中對信息的讀取、發(fā)送,利用流來實現(xiàn)信息的交換,對實現(xiàn)一個系統(tǒng)的信息流進(jìn)行分析。首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后對初始原型系統(tǒng)進(jìn)行不斷修正和改進(jìn),直到形成實用系統(tǒng)。關(guān)鍵詞:客戶端/服務(wù)器端模式套接字電子郵件中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1672-3791(2012)01(b)-0045-05系統(tǒng)總體框架電子郵件系統(tǒng)可分為客戶端和服務(wù)器兩部分,根據(jù)郵件在傳輸時使用的協(xié)議它們又分別可以分為SMTP和POP3協(xié)議。圖1中給出了電子郵件系統(tǒng)的整體框架結(jié)構(gòu)。首先由ESMTP客戶端編寫并發(fā)送郵件;SMTP服務(wù)器接收到郵件后根據(jù)收件人是否是本地用戶進(jìn)行分發(fā)。如果是本地用戶,則將郵件直接投遞到用戶郵箱中;如果是遠(yuǎn)程郵箱,則將郵件轉(zhuǎn)發(fā)到收件人所在的服務(wù)器上;最后收件人通過POP3客戶端經(jīng)過POP3服務(wù)器,把郵件從服務(wù)器上的郵箱中取到本地主機(jī)上進(jìn)行解析和顯示。EsMTP客戶端的詳細(xì)設(shè)計檢查郵件信息完整性模塊當(dāng)發(fā)送郵件時,點擊發(fā)送按鈕,首先是對界面上要求用戶填寫的郵件信息區(qū)域進(jìn)行檢查。郵件信息編碼模塊當(dāng)點擊發(fā)送按鈕后,并對相關(guān)填寫信息核對后,就進(jìn)入郵件信息編碼模塊,現(xiàn)在的SMTP服務(wù)器都需要身份驗證,即為EsMTR而在驗證前首先要對用戶名和密碼進(jìn)行Base64的編碼。郵件發(fā)送模塊當(dāng)經(jīng)過郵件信息完整性檢查和信息編碼后,則進(jìn)入郵件發(fā)送模塊,郵件發(fā)送模塊是指從連接服務(wù)器開始到郵件發(fā)送成功的整個過程。只有遵照ESMTPb、議,按照一定的過程與服務(wù)器交互,才能將用戶已經(jīng)寫好的郵件完整無缺的發(fā)送出去,這整個交互過程是在Winsock控件的DataArrival事件中完成的。附件選取功能實現(xiàn)首先添加CommonDialog控件,名稱為dlgFile,因為CommonDialog控件提供諸如打開和保存文件、設(shè)置打印選項、選擇顏色和字體等操作的一組標(biāo)準(zhǔn)對話框。而程序中只需要CommonDialog控件提供打開這個標(biāo)準(zhǔn)對話框。通過打開這個對話框我們可以選取要添加的附件路徑。其次再添加兩個按鈕控件,分別名稱為cmdAddAdjunct與cmdRemoveAdjunct,前者為添加附件按鈕,后者為刪除附件按鈕。狀態(tài)顯示功能實現(xiàn)在發(fā)送郵件過程中,當(dāng)客戶端與服務(wù)器進(jìn)行交互時,一般各個狀態(tài)是在客戶端與服務(wù)器默認(rèn)情況下進(jìn)行的,但是為了讓用戶了解到傳輸?shù)倪^程,因此添加了狀態(tài)顯示功能,用label控件可以實現(xiàn)此功能。POP3客戶端的詳細(xì)設(shè)計客戶端連接POP3服務(wù)器當(dāng)填寫好pop服務(wù)器地址、用戶名、密碼時點擊按鈕,此時按鈕的Click事件里就開始與服務(wù)器建立連接,只有遵照POP3協(xié)議,按照一定的過程與服務(wù)器交互,才能夠從指定的服務(wù)器上指定的賬號中獲得完整的郵件信息。Winsockl_DataArrivai過程首先還是調(diào)用Winsock控件中的GetData方法從系統(tǒng)緩沖區(qū)中取得服務(wù)器發(fā)回的消息,然后遵照POP3協(xié)議進(jìn)行解析并給出相應(yīng)的回應(yīng)。從POP3服務(wù)器上檢取郵件從POP3服務(wù)器上檢取郵件,是在程序POP3_RETR狀態(tài)進(jìn)行的,在檢取的過程中用到了兩個類函數(shù)分別是Cmessag峻和Cmessage嘍。首先Cmessagei^是代表個體,Cmessag峻模塊包裝了從服務(wù)器上接收POP3郵件,它提供了各種屬性和方法來訪問郵件的不同參數(shù)。用戶界面上顯示選定的郵件當(dāng)在列表試圖中選定某個郵件時,郵件接收客戶端就會認(rèn)為用戶想要瀏覽這封郵件,于是在相應(yīng)列表試圖的ItemClick事件時,我們從郵件集合中讀取相應(yīng)郵件,并將郵件內(nèi)容顯示在正文文本框內(nèi)。搭建虛擬局域網(wǎng)服務(wù)器因為本測試階段需要電子郵件客戶端利用向虛擬局域網(wǎng)郵件服務(wù)器和廣域網(wǎng)公共郵件服務(wù)器上發(fā)送或接收郵件的試驗對比,來測試其兼容有效性,這就需要搭建一個虛擬郵件服務(wù)器,本文通過WindowsServer2003提供的POP3服務(wù)和SMTP服務(wù)架設(shè)小型郵件服務(wù)器來滿足需要。安裝POP3和SMTP服務(wù)組件WindowsServer2003下手工添加POP3和SMTP服務(wù)組件。安裝POP3服務(wù)組件以系統(tǒng)管理員身份登錄WindowsServer2003系統(tǒng)。依次進(jìn)入“控制面板一添加或刪除程序一添加/刪除Windows組件”在彈出的“Windows組件向?qū)А睂υ捒蛑羞x中“電子郵件服務(wù)”選項,點擊“詳細(xì)信息”按鈕,選中“POP3服務(wù)Web管理”。安裝SMTP服務(wù)組件選中“應(yīng)用程序服務(wù)器”選項,點擊“詳細(xì)信息”按鈕,接著在“Internet信息服務(wù)(IIs)”選項中查看詳細(xì)信息,選中“SMTPService”。完成以上設(shè)置后,點擊“下一步”按鈕,系統(tǒng)就開始安裝配置POP3和SMTP服務(wù)了。配置POP3服務(wù)器創(chuàng)建郵件域:點擊“開始一管理工具一POP3服務(wù)工彈出POP3服務(wù)控制臺窗口。選中左欄中的POP3服務(wù)后,點擊右欄中的“新域”,彈出“添加域”對話框,接著在“域名”欄中輸入郵件服務(wù)器的域名,“”。創(chuàng)建用戶郵箱選中剛才新建的“”域,在右欄中點擊“添加郵箱”,彈出添加郵箱對話框,在“郵箱名”欄中輸入郵件用戶名,然后設(shè)置用戶密碼,然后“確定”,完成郵箱的創(chuàng)建如圖2所示。配置SMTP服務(wù)器點擊“開始―程序―管理工具―Internet信息服務(wù)(IIs)f理器",在“IIS管理器”窗口中右鍵點擊“默認(rèn)SMTP虛擬服務(wù)器”選項,在彈出的菜單中選中“屬性”,進(jìn)入“默認(rèn)SMTP虛擬服務(wù)器”窗口,切換到“常規(guī)”標(biāo)簽頁,在“IP地址”下拉列表框中選中郵件服務(wù)器的IP地址如圖3所示。“確定”后,這個簡單的虛擬郵件服務(wù)器就架設(shè)完成了。完成以上設(shè)置后,就可以使用郵件客戶端軟件連接郵件服務(wù)器進(jìn)行郵件收發(fā)測試了。在設(shè)置郵件客戶端軟件的SMTP和POP3服務(wù)器地址時,輸入郵件服務(wù)器的域名“”。系統(tǒng)仿真郵件發(fā)送模塊測試(1)兼容性測試。檢查郵件發(fā)送客戶端是否能在實際中正常運(yùn)用。因為本郵件系統(tǒng)采用的服務(wù)器為windows系統(tǒng)自帶的虛擬郵件服務(wù)器或是網(wǎng)絡(luò)中郵件服務(wù)器,所以針對不同的服務(wù)器進(jìn)行客戶端測試。首先可以看見郵件客戶端界面如圖4所示。從這里用戶選擇接收或發(fā)送郵件。當(dāng)虛擬郵件服務(wù)器配置好后,將虛擬郵件服務(wù)器的地址填寫在客戶端界面上,然后將自己創(chuàng)建的用戶名和密碼也填寫好,點擊發(fā)送按鈕,從客戶端的狀態(tài)欄中可以看到與虛擬郵件服務(wù)器的交互過程,最后彈出提示發(fā)送成功。表明郵件發(fā)送到服務(wù)器端。重新打開郵件發(fā)送客戶端,現(xiàn)在針對網(wǎng)絡(luò)中的服務(wù)器,如163郵件服務(wù)器進(jìn)行測試。首先填寫郵件服務(wù)器的地址:SMTP,163.com。然后將用戶名和密碼填寫好,最后按照界面要求填寫其他信息。最后添加附件,點擊發(fā)送按鈕,如圖5所示。同樣從狀態(tài)欄中看到客戶端與163sMTP服務(wù)器的交互過程,最后彈出信息提示發(fā)送成功,然后我們用IE登陸163郵件網(wǎng)址,登陸收件人用戶名的郵箱,可以在其中看到我們剛剛發(fā)送的郵件。圖6說明剛才發(fā)送成功。不過這里的用戶是針對開通SMTP服務(wù)器權(quán)限的用戶。同時可以看見附件也發(fā)送成功,并正確顯示在附件欄中。通過測試,說明接收服務(wù)器能夠正常的對ESMTP和SMTP命令做出響應(yīng),實現(xiàn)收取郵件過程,說明容戶端有較好的兼容性。能夠?qū)崿F(xiàn)在廣域網(wǎng)中或在局域網(wǎng)中發(fā)送電子郵件。(2)功能測試。狀態(tài)欄功能:在發(fā)送的過程中,狀態(tài)欄對交互過程的狀態(tài)能夠顯示(如圖7所示),狀態(tài)欄功能正常。郵件信息完整性檢查功能:當(dāng)我們故意漏填界面上的信息時,就會彈出相應(yīng)的信息提示如圖8所示。特別是對收件人地址格式的錯誤的檢查,保證信息的完整與正確性。(3)郵件內(nèi)容編碼功能測試。我們在發(fā)送郵件的時候在內(nèi)容里填寫英文和中文兩種字體,發(fā)送成功后,我們通過IE登陸收件人郵箱,可以看見剛才發(fā)送的郵件內(nèi)容中是英文和中字體。圖9說明郵件編碼功能正常。5.2郵件接收模塊測試選用windows虛擬郵件服務(wù)器和163服務(wù)器進(jìn)行測試。當(dāng)虛擬郵件服務(wù)器設(shè)置成功后,在郵件接收客戶端填寫POP3地址,在虛擬服務(wù)器設(shè)置時自己創(chuàng)建的用戶和密碼,點擊確定,則在郵件列表上顯示郵箱內(nèi)的郵件,點擊列表中的其中一封郵件,則在內(nèi)容窗口中顯示郵件正文內(nèi)容,客戶端從POP3郵件服務(wù)器上檢取郵件成功,實現(xiàn)郵件接收查看。重新打開客戶端,測試從網(wǎng)絡(luò)中的郵件服務(wù)器上檢取郵件,選用163服務(wù)器進(jìn)行測試,先按照界面要求填寫信息,點擊確定后,在郵件列表上顯示郵件信息,點擊其中一封郵件,則在內(nèi)容窗口上顯示郵件正文內(nèi)容,圖10所示,說明郵件接收成功。通過測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論