" />
所屬欄目:電子商務論文 發布日期:2012-01-14 10:43 熱度:
摘要:本系統軟件名為電子郵件客戶端軟件,是基于SMTP和POP3協議從底層開發的,實現了郵件發送和接收的基本功能。本系統軟件是由發送郵件、接收郵件、賬戶管理和通訊錄四個模塊組成。發送郵件模塊主要功能是解析SMTP協議和實現發送郵件內容及附件,其中類MailSend是本模塊的核心。接收郵件模塊主要實現接收郵件內容和下載附件的功能。
類MailReceive是接收郵件模塊的核心,它是利用成熟的.DLL文件封裝而成的。賬戶管理模塊實現了賬戶的添加、修改和刪除功能。通訊錄模塊能夠記憶聯系人信息,為快速聯系提供方便。經過測試,本系統軟件能夠準確的完成郵件收發的常用功能,并且操作簡單。
關鍵詞:電子郵件客戶端軟件論文;SMTP;POP3;附件
0引言
互聯網技術的飛速發展引領人類進入了網絡信息時代,而電子郵件已經取代傳統書信成為人們交流和交換信息的重要途徑。越來越多的人在使用它,而且使用它的人數將會繼續增加,同時根據生活和交流的需要,同一個人同時擁有了多個郵件,這樣人們為了發送和接收郵件需要登陸不同的網頁,使得操作繁多浪費了很多寶貴的時間。為了解決這一問題研發出了電子客戶端軟件,通過本軟件可以完成不同的郵箱賬戶的郵件收發功能,而不需登陸多個不同的網頁論文。
本系統軟件名為電子郵件客戶端軟件,是基于SMTP和POP3協議從底層播放器開發的,實現了郵件發送和接收的基本功能,并且能夠附帶郵件附件的發送和接收,并附有通訊錄功能。
SMTP[1]全稱是簡單郵件傳輸協議,是一種提供可靠且有效電子郵件傳輸的協議,它專門用來發送郵件用的。其中類MailSend實現了SMTP協議的解析和實現郵件內容和附件發送的核心類。POP3[2]是郵局協議的第3個版本,它規定怎樣將個人計算機連接到Internet的郵件服務器和下載電子郵件的電子協議,是專門用于接收郵件的。類MailReceive是利用成熟封裝的DLL文件實現接收郵件內容和下載附件的核心類。經過測試,本系統能夠準確實現純文本郵件和帶有附件的郵件的發送,以及郵件的接收和附件的下載。
雖然當前流行的各大郵件客戶端軟件比如Foxmail、OutlookExpress等都已實現郵件收發功能,但是除了最主要的收發信件之外,他們功能越來越復雜,但是人們平常真正用到的功能很少,很多功能尤其對于那些計算機知識相對缺乏的人來說,更加顯得太過于華麗而不實用。有鑒于此,在了解RFC底層協議的基礎上,開發了這個各種功能相對簡單實用的電子郵件客戶端軟件,簡化了很多不必要的功能,它更容易掌握和使用。
1需求分析及相關技術論文
1.1可行性分析本系統是采用C#語言來開發的WinForms窗體應用程序,開發工具使用基于.NET的VisualStudio2008。數據庫方面擬用Access是關系數據庫開發工具,數據庫能匯集各種信息以供查詢、存儲和檢索。Access的優點在于它能使用數據表示圖或自定義窗體收集信息。
數據表示圖提供了一種類似于Excel的電子表格,可以使數據庫一目了然。,該數據庫管理系統比較適合于中小型系統的開發,而且技術方面也比較成熟。
該系統的可行性[3]分析包括以下幾個方面的內容:
(1)社會因素方面的可行性本系統用于郵件的發送和接收,無法律和政策方面的限制。
(2)經濟方面的可行性本系統作為一個實訓的畢業設計項目,無需投入過多開發經費,并且本系統實施后可以用于個人收取和發送郵件等郵件處理,同其他郵件客戶端軟件Foxmail、OutlookExpress等相比較簡化了操作功能,節約了繁瑣功能要花費的時間。
(3)技術方面的可行性技術上的可行性分析主要在于分析技術條件是否能順利完成開發工作,硬、軟件能否滿足開發者的需要等論文。
軟件方面,網絡化考試需要的各種軟件環境都已具備,數據庫[4]
服務器方面則有Access、SQLServer、Oracle等,均能夠處理大量數據,同時保持數據的完整性并提供許多高級管理功能。其靈活性、安全性和易用性為數據庫編程提供了良好的條件。因此,系統的軟件開發平臺已成熟可行。硬件方面,科技飛速發展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統的需要。
綜上所述,此系統開發目標已明確,在技術和經濟等方面都可行且投入少,見效快,所以此系統的開發應用是完全可行的。
1.2需求分析隨著互聯網絡的快速發展,電子郵件已經成為人們交流和交換信息的重要途徑。越來越多的人在使用電子郵件,并且它將逐步取代傳統信件。根據生活和工作的需要,同一個人同時擁有了多個郵箱。使用這些不同郵箱發送和接收郵件需要登陸不同的網頁,使得操作復雜并且浪費了很多寶貴的時間。為了解決這一問題研發出了電子客戶端軟件,通過本軟件可以完成不同的郵箱賬戶的郵件收發功能,而不需登陸多個不同的網頁。
本系統軟件名為電子郵件客戶端軟件,是基于SMTP和POP3協議從底層開發的,實現了郵件發送和接收的基本功能。本系統軟件是由發送郵件、接收郵件、賬戶管理和通訊錄四個功能模塊組成。
主要功能如下:
(1)發送電子郵件,包括簡單的文本郵件和帶附件的郵件。
(2)接收電子郵件,查看文本郵件并能夠保存到本地,下載附件到本地。
(3)賬戶管理功能,實現對賬戶的添加、修改和刪除。
(4)通訊錄功能,記錄和添加常用聯系人和聯系人信息
2概要設計論文
2.1系統總體功能架構系統為電子郵件發送和接收的客戶端,由于同于一人擁有不同的郵箱賬戶,系統在實現基本的郵件發送和接收的同時,還有賬戶的管理,實現對不同用戶名郵箱的信件發送和接收功能。發送的時候能夠發送一個或多個附件,在接收郵件的時候,能夠保存郵件內容和下載附件到本地。同時為了方便操作,添加有通訊錄功能,添加有常用聯系人。
系統總體功能架構如圖2-1所示:
2.2賬戶管理模塊由于同于一人擁有不同的郵箱賬戶,不同的郵箱即為不同的賬戶,系統在實現了賬戶管理功能,包括添加新賬戶、修改已存在賬戶信息、刪除賬戶等功能。
賬戶主要管理功能如圖2-2所示:
圖2-2賬戶管理流程圖2.3發送郵件模塊郵件發送模塊主要完成郵件發送功能,主要包括普通郵件、帶附件(一個或多個)的郵件的發送,同時由于網絡或其他原因不能夠及時發送郵件的時候可以保存郵件為草稿到本地,以待網絡完好或可以發送的時候再次發送該郵件。
發送郵件模塊流程圖如圖2-3所示:
2.4接收郵件模塊郵件接收模塊主要完成接收郵件的相關內容,首先與郵件服務器連接,顯示本用戶的郵件數,然后根據輸入要查看的郵件序號顯示該郵件的相關信息,包括該郵件的發件人、主題、發送時間、附件的相關信息(有就顯示附件名)、郵件的內容。另外查看郵件的內容的時候可以以文本或網頁的形式查看。在查看玩郵件內容以后可以右擊選擇保存文本內容到本地。
如果郵件帶有附件,可以下載郵件的附件到本地。流程圖如圖2-4所示:
2.5通訊錄模塊為了方便用戶的操作,設有通訊錄功能,記錄保存用戶的常用聯系人。本模塊主要包括添加新的聯系人、查看聯系人、刪除聯系人等基本操作,在填寫發送郵件的時候可以根據聯系人的名字插入相應的郵箱地址,方便記憶。
2.6數據庫的設計本系統既電子郵件客戶端軟件的數據簡單,主要保存用戶的登錄賬戶信息和一些常用聯系人的信息。
主要實體如下:
(1)賬戶信息(賬戶表users):主要包括賬戶名、郵箱的用戶名、密碼、郵箱的地址、SMTP服務器、POP3服務器、SMTP端口號、POP3端口號等信息。
(2)聯系人信息(聯系人表Friend):聯系人的姓名、郵箱地址、聯系電話、備注信息等。
電子郵件客戶端的E-R圖如下:
3系統詳細設計與實現
3.1系統主界面設計系統主界面即為打開系統最初顯示的界面,其主要內容包括三個菜單欄:文件、郵箱、通訊錄和關于郵件處理的工具條。在主界面開啟的時候加載用戶所有的賬戶名(第一次使用沒有賬戶,需添加)。在狀態欄里面會顯示登錄時間、當前時間等一些信息。
圖3-1為添加有兩個賬戶的主界面圖3-1主界面3.2賬戶管理模塊的設計系統的使用者擁有不同的郵箱賬戶,不同的郵箱即為不同的賬戶,系統在實現了賬戶管理功能,包括添加新賬戶、修改已存在賬戶信息、刪除賬戶等功能。調用該功能主要通過菜單郵箱和右擊賬戶名列別實現。
3.3發送模塊的設計
3.3.1發送郵件核心類MailSend本類主要是通過各種方法實現SMTP發送的全過程,實現的功能包括與服務器的連接、向服務器發送命令及郵件內容、讀取服務器響應命令等。
主要成員變量及方法如下:
(1)網絡連接類及實例TcpClienttc為TCP網絡服務提供客戶端連接類TcpClient實例對象tc。TcpClient類提供了一些簡單的方法,用于在同步阻塞模式下通過網絡來連接、發送和接收流數據。而實例化的過程也是連接SMTP服務器的過程。
(2)提供網絡訪問的基礎數據流類及其實例NetworkStreamns類NetworkStream提供訪問網絡的基礎數據流的方法。其中最基本也是最重要的兩個方法就是Write()和Read()方法,主要向網絡中寫入數據和從網絡中讀取數據,且所有數據都是采用Base64編碼。
(3)其他基本參數用來存放用戶選擇的附件的絕對路徑名的符串一維數組FilePath,郵件所需的基本參數包括用于ESMTP等錄檢驗用的用戶名、密碼,發送郵件需要的收信人,發信人地址以及主題等參數。
(4)重載的構造函數MailSend(ArrayList)此函數主要用于在初始化過程中調用方法AddAttachment(),把用戶選擇的附件的路徑以參數的形式傳給一維數組FilePath。
(5)設置附件絕對路徑的方法AddAttachment(string[])將附件的絕對路徑傳給數FilePath,通過本函數函數就可以循環的動態的添加到IList接口的一個對象中了,方便以后在具體的實現的過程中的使用。
(6)得到上傳的附件的文件流方法GetAttachmentStream(string)互聯網的操作都是以網絡流的形式來實現的,因此先將上傳的附件轉換成文件流,然后再用Write的方法把這些附件的文件流寫入到網絡中,來完成發送附件的操作。
(7)將字符串編碼為Base64字符串的方法Base64Encode(string)由于ESMTP的LOGIN認證機制是采用Base64編碼,當用戶發出AUTHLOGIN的命令后,服務器返回334的應答碼等待用戶輸入。如果身份確認后服務器返回235的應答碼,否則返回失敗信息。所以要將用戶名和密碼轉換成Base64編碼然后再發給服務器。此函數的作用就是把給定的字符串轉換成相應的Base64編碼的字符串。
(8)發送SMTP命令的方法SendCommand(string)這個函數的作用是把SMTP命令的字符串轉換成對應的字節型值(C#中規定的Write方法只能寫入字節型的數據)然后寫入網絡中,如果操作成功就返回一個標志為真的布爾型變量,如果操作失敗或者發生異常就返回標志為假的布爾型變量。
(9)接受服務器應答的方法RecvResponse()它的作用就是從網絡流中讀取服務器返回的字節型的信息,將其轉換成字符串型的變量,然后將其返回,可以通過其返回值來判斷操作是否成功。
(10)重載的方法Dialog()它們的作用是與服務器交互,發送命令并接收回應。不同的是參數是字符串類型的那個函數,每次發送一條命令,并接受服務器的響應,根據響應的信息來判斷交互的結果是否成功。而參數是字符串數組的函數每次發送的是一組命令,用于和服務器的交互,這個函數主要是用于ESMTP服務器的驗證的功能,因為驗證的過程是一個等待然后又輸入的過程,因此將他們放在一個數組中有利于理解和操作。而他們的實現主要是通過調用上面的發送SMTP命令函數SendCommand以及接受SMTP服務器響應的函數RecvResponse來實現的。
(11)SMTP發送郵件方法SendMail()這是整個程序的核心部分。具體的實現SMTP協議的程序正是通過它一步一步實現并最終實現發送簡單郵件甚至帶附件的郵件的功能。而它的實現是調用以上給出的各個函數的結果。
3.4接收模塊的設計
3.4.1接收郵件核心類MailReceive本類主要通過自身的各個方法的調用實現郵件的接收、分析、顯示和下載附件。類的功能實現引用了以開發好的DLL文件OpenPOP.dll和MIMEParser.dll文件里的函數方法。
類的主要參數和方法如下:
(1)OpenPOP.MIMEParser.Messagem和POPClientpopClient:
對引用組件的函數操作的實例化對象,是接收和下載郵件的核心操作(2)構造函數MailReceive(string,string,string,string)通過構造函數初始化連接參數,用于連接郵件服務器。
(3)方法setMessage(int)因為顯示郵件的具體內容和附件名是一封一封的實現的,通過本方法設置要接收的郵件序號,進而接收指定郵件的具體內容。
(4)方法connect()連接服務器(5)方法receiveMail(int)接收郵件,主要是本郵箱的郵件數目(6)方法getAttachmentName()獲得附件名(7)方法getAttachments()下載附件到本地電腦4系統測試軟件測試[5]是一個長期的過程,只要軟件還在使用中,測試工作就一直存在。軟件的測試從編碼就開始了,并貫穿著軟件的始終。測試任何產品都有兩種方法,如果已經知道了產品應該具有的功能,可以通過測試來檢驗是否每個功能都能正常使用;如果知道產品的內部工作過程,可以通過測試來檢驗產品內部動作是否按照規格說明書的規定正常進行。
系統的主要功能就是郵件的發送和接收,是基于SMTP和POP3協議的,所以測試使用的郵箱賬戶需要開啟smtp服務,目前sina、sohu、tom的郵箱提供免費SMTP服務,其sina郵箱中新注冊時默認smtp服務是關停的,需要通過人工開啟。目前126和163新開通的免費郵箱是不提供免費SMTP服務的,但是可開通增值服務郵箱伴侶或隨身郵,即可同時獲取poo功能。或者可以選擇VIP郵箱。但是以前申請的老郵箱是提供免費的SMTP服務的,本測試主要使用已經開通SMTP服務的163郵箱進行測試的。
4.1賬戶管理和通訊錄功能測試(1)添加新賬戶新賬戶信息:用戶名和賬戶名按照軟件自動生成,密碼為abc123456,smtp服務器為smtp.163.com,端口號為110,pop3服務器為pop.163.com,端口號為25。
測試結果:添加賬戶成功。
(2)修改賬戶信息測試結果:修改賬戶名和賬戶密碼成功(應該與郵箱密碼一致)。
(3)刪除賬戶測試結果:刪除賬戶成功。
(4)添加新聯系人新聯系人信息:聯系人姓名為張三,聯系電話為123456,備注為同學。
測試結果:添加新聯系人成功。
(5)刪除聯系人測試結果:刪除聯系人成功。
4.2郵件發送功能測試發送測試郵箱為:普通文本郵件發送測試結果:發送郵件成功。
(2)帶有附件的郵件的發送附件有一個或多個附件組成,主要是一些常用的文件格式,比如txt、doc、jpg、rar、MP3等文件。
測試結果:發送郵件成功。
(3)對不同服務器的郵箱發送使用163測試的郵箱賬戶對163、126、雅虎郵箱、新浪郵箱、搜狐郵箱、QQ郵箱重復前兩步的測試。
測試結果:發送郵件成功。
4.3郵件接收功能測試(1)接收郵件內容測試結果:接收郵件成功,能夠查看郵件的各種信息,包括發件人、發送時間按、主題、郵件內容和附件名稱。
(2)下載附件測試結果:下載附件成功。
通過上面的幾部測試可以確定本系統已經能夠實現正常的郵件發送和接收功能,并且能夠完成對附件的操作,能完成正常的郵件功能,是一個簡單實用的電子郵件客戶端軟件。
5結論
通過這次電子郵件系統軟件的開發,我對軟件開發過程有了更清晰的了解,首先是問題定義、需求分析,然后是功能設計、詳細設計等,并對軟件測試有了較深的理解。
本系統名為電子郵件客戶端軟件,基于SMTP和POP3協議從底層開發的,實現郵件發送和接收的基本功能,并且能夠附帶郵件附件的發送和接收,并附有通訊錄功能。
[參考文獻]
[1]編寫基于SMTP網絡應用程序.電腦愛者,2003.5
[2]編寫基于POP3網絡應用程序.電腦愛好者,2003.6
[3]李代平.軟件工程(第2版).清華大學出版社,2008
[4]魏祖寬.數據庫系統及應用.電子工業出版社,2008
[5]趙斌.軟件測試技術經典教程.北京:北京科學出版社,2007
文章標題:電子郵件客戶端軟件的設計與實現之電子商務論文
轉載請注明來自:http://www.56st48f.cn/fblw/jingji/dianzishangwu/11108.html
攝影藝術領域AHCI期刊推薦《Phot...關注:106
Nature旗下多學科子刊Nature Com...關注:152
中小學教師值得了解,這些教育學...關注:47
2025年寫管理學論文可以用的19個...關注:192
測繪領域科技核心期刊選擇 輕松拿...關注:64
及時開論文檢索證明很重要關注:52
中國水產科學期刊是核心期刊嗎關注:54
國際出書需要了解的問題解答關注:58
合著出書能否評職稱?關注:48
電信學有哪些可投稿的SCI期刊,值...關注:66
通信工程行業論文選題關注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關注:121
評職稱發論文好還是出書好關注:68
復印報刊資料重要轉載來源期刊(...關注:51
英文期刊審稿常見的論文狀態及其...關注:69
經濟論文范文
郵電論文 文化產業論文 特許經營論文 餐飲管理論文 房地產論文 人力資源論文 項目管理論文 工商企業管理論文 家政論文 物業論文 國際貿易論文 電子商務論文 審計論文 財會論文 統計論文 財稅論文 銀行論文 證券論文 保險論文 金融論文 經濟學論文 市場營銷論文 旅游論文
SCI期刊分析
copyright © www.56st48f.cn, All Rights Reserved
搜論文知識網 冀ICP備15021333號-3