ASP.NET郵件收發(fā)程序的設計與開發(fā)(源代碼+論文)
ASP.NET郵件收發(fā)程序的設計與開發(fā)(源代碼+論文),ASP,NET,郵件,收發(fā),程序,設計,開發(fā),源代碼,論文
分類號:分類號:TP315TP315 U U D D C C:D10621-D10621-4 40 08 8-(2007)6207-0-(2007)6207-0密密 級:公級:公 開開 編編 號:號:20030321632003032163成成 都都 信信 息息 工工 程程 學學 院院學學 位位 論論 文文郵件收發(fā)程序的設計與開發(fā)郵件收發(fā)程序的設計與開發(fā)論文作者姓名:論文作者姓名:黨寧黨寧申請學位專業(yè):申請學位專業(yè):網絡工程網絡工程申請學位類別:申請學位類別:工學學士工學學士指指導導教教師師姓姓名名(職職稱稱):李中志李中志( (講師講師) )論文提交日期:論文提交日期:20072007年年6 6月月1010日日郵件收發(fā)程序的設計與開發(fā)郵件收發(fā)程序的設計與開發(fā)摘摘 要要在經濟全球化和信息技術飛速發(fā)展的今天,通過郵件收發(fā)進行信息傳遞已經成為主流。目前,基于 B/S(Browser/Server)模式的 MIS(Management information system)日益成熟,Web 已從靜態(tài)的 HTML 到動態(tài)的網頁,使系統(tǒng)的開發(fā)、管理和維護變得非常方便。因此,本系統(tǒng)研究并開發(fā)了基于 B/S 模式的郵件收發(fā)程序系統(tǒng)。郵件收發(fā)程序的設計與開發(fā)是一個綜合性的程序設計,涉及到界面、系統(tǒng)、數據庫、協(xié)議、編碼等多個方面的內容。本設計前臺采用.NET 技術,后臺數據庫采用 SQL Server 2000,語言采用 C#,主要講述了郵件系統(tǒng)的注冊、登陸、管理、發(fā)送和接收郵件等基本功能及設計方法。在系統(tǒng)分析中先后用系統(tǒng)的結構圖分析了郵件系統(tǒng),包括功能流程和功能分析,數據庫表格。在整個系統(tǒng)的設計中,詳細的展現(xiàn)了用戶系統(tǒng)的各個功能模塊,菜單的設計等。同時在系統(tǒng)的實現(xiàn)中,給出了實現(xiàn)表單中相應的后臺數據庫服務,前臺功能控件的事件及代碼以及界面實現(xiàn)的方法。最后,對系統(tǒng)設計的各個功能做了相應測試,并給出了相關設計頁面截面的直觀圖。關鍵字關鍵字:C#;郵件系統(tǒng);SQL Server數據庫The Designing and Development of Email Receiving and Sending SystemAbstractRecently as the economic became globalization and the information technology developed rapidly, the level of enterprise Information is the key to drive the technological innovation and to upgrade of all work. Currently, the model of MIS (Management Information System) based on the B/S (Browser/Server) is becoming increasingly mature and enterprise Web have already been from static HTML to dynamic website, which allowing the system to the development, management and maintenance became convenience. Therefore, this system researched and developed the inventory management information system based on the B/S mode.The designing and development of Email receiving and sending systemis a comprehensive design process involving the interface, system, database, agreement, coding and other aspects .The designing uses .NET technology, background database using SQL Server 2000, C # as language. It mainly described the mail system on the registration, landing, and management, sending and receiving mail and other basic functions and design methods. In systems analysis the system structure was used to analyze the mail system, including the functional processes and functional analysis, database tables. During the entire system design , the various user system functional modules, menu design were detailed displayed .Meanwhile in the system realization , the corresponding backstage database service , the onstage function event controller and the code as well as the contact surface realization method were offered in the realization table list . Finally, the corresponding test has been given to system design each function, and the correlation design page section direct-viewing chart has been produced.Key words: C#; Email System; SQL Server目目 錄錄論文總頁數:28 頁1引言.11.1郵件系統(tǒng)的介紹.11.2開發(fā)概述.11.3對電子郵件的現(xiàn)狀分析.21.4電子郵件的發(fā)展前景.22開發(fā)分析.32.1開發(fā)背景.32.2工作原理分析.33系統(tǒng)設計.43.1模塊的劃分與功能設計.43.2功能模塊的初步設計.53.2.1 前臺分析 .63.2.2 后臺分析.63.3數據庫設計.73.4模塊的組織結構.94系統(tǒng)詳細設計.114.1用戶“注冊”的設計.114.2用戶“登路”的設計.124.3修改用戶密碼的設計.134.4新建文件夾.144.5閱讀郵件.154.6重命名文件夾.164.7發(fā)送郵件.174.8郵件用戶管理.205系統(tǒng)功能界面演示.215.1用戶注冊功能界面演示.215.2管理功能界面演示.235.3接收送功能界面演示.24結 論.25參考文獻.25致 謝.27聲 明.28第 1 頁 共 28 頁1 1引言引言1.11.1 郵件系統(tǒng)的介紹郵件系統(tǒng)的介紹伴隨著信息技術的快速發(fā)展,電子郵件已經成為最基本的網絡通信工具,每天都有成千上萬的用戶使用它。電子郵件(簡稱 E-mai1)又稱電子信箱、電子郵政,它是種用電子手段提供信息交換的通信方式,它是全球多種網絡上使用最普遍的一項服務。這種非交互式的通信,加速了信息的交流及數據傳送,它是個簡易、快速的方法。進入國際互連網的用戶可以方便的使用電子郵件,而且不用任何紙張,就可以方便的寫、寄、讀、轉發(fā)信件,而且它不論地球的任何區(qū)域,只要他在網內就可以進行轉發(fā),而不受任何時間的限制。利用電子郵件還可以實現(xiàn)文件的傳輸、電子雜志的訂閱,進行學術討論,舉行電子會議或者查詢信息。這是目前最普及也是最方便的通信工具。很多應用程序都附帶有電子郵件的發(fā)送和接收功能,因此,電子郵件和接受程序的編程變的十分重要。郵件收發(fā)程序的設計和開發(fā)是采用 C#開發(fā)的綜合性的程序設計。它包括郵件用戶的注冊、登陸、管理以及郵件的收發(fā)?,F(xiàn)在,這種電子郵件系統(tǒng)已成為人們生活中不可缺少的重要工具,也是許多商家和組織機構的生命血脈。用戶可以通過電子郵件的討論會進行項目管理,并且有時要根據快速,或洲際的電子郵件信息交換進行重要的決策行動。1.21.2 開發(fā)概述開發(fā)概述 電子郵件(Electronic Mail,E-mail)是利用計算機網絡傳遞的電子媒體信件,它是隨著計算機網絡出現(xiàn)的,依靠網絡的通信手段實現(xiàn)普通郵件信息的傳輸。雖然電子郵件是在 70 年代發(fā)明的,它卻是在 80 年才得以興起。70 年代的沉寂主要是由于當時使用 Arpanet 網絡的人太少,網絡的速度也僅為目前56Kbps 標準速度的二十分之一。受網絡速度的限制,那時的用戶只能發(fā)送些簡短的信息,根本別想象現(xiàn)在那樣發(fā)送大量照片;到 80 年代中期,個人電腦興起,電子郵件開始在電腦迷以及大學生中廣泛傳播開來;到 90 年代中期,互聯(lián)網瀏覽器誕生,全球網民人數激增,電子郵件被廣為使用。 現(xiàn)在使用電子郵件已經成為日常工作、生活中不可缺少的一部分,關于電子郵件發(fā)生的最大變化是基于互聯(lián)網的電子郵件的興起。人們可以通過任何聯(lián)網的計算機在郵件網站上維護他們的郵件帳號,而不是只能在他們家中或公司的聯(lián)網電腦上使用郵件。因此,需要對已有的傳輸文件程序以及信息程序進行研究,研制出一套新程序,它可通過電腦網絡發(fā)送和接收信息,再也沒有了以前的種種限制。第 2 頁 共 28 頁隨著網絡的不間斷發(fā)展,依靠網絡的通信手段實現(xiàn)普通郵件信息的傳輸,取代了傳統(tǒng)的紙上書寫、信箱投寄、郵局傳送的郵寄方式。運用最為快捷,簡潔,方便的電子郵件已成為許多商家和組織機構的生命血脈。用戶可以通過電子郵件的討論會進行項目管理,并且有時要根據快速,或洲際的電子郵件信息交換進行重要的決策行動。1.31.3 對電子郵件的現(xiàn)狀分析對電子郵件的現(xiàn)狀分析自從 1987 年 9 月,CANET 在北京計算機應用技術研究所內正式建成中國第一個國際互聯(lián)網電子郵件節(jié)點,并于 9 月 14 日發(fā)出了中國第一封電子郵件:Across the Great Wall we can reach every corner in the world.(越過長城,走向世界)以來,電子郵件服務在我國得到了飛速的發(fā)展。至 2005 年7 月,依據中國互聯(lián)網絡信息中心頒布的第十六次中國互聯(lián)網絡發(fā)展狀況統(tǒng)計報告的結果顯示,我國網民人數已達 1.03 億人,平均擁有 1.6 個 E-mail,平均每周收到 5.2 封電子郵件(不包括垃圾郵件) ,發(fā)出 3.7 封電子郵件。同時,這次統(tǒng)計報告還顯示,電子郵件服務依舊是除萬維網之外,應用最為廣泛的一種服務,我國網民對電子郵件的使用率已經達到了 91.3%。隨著電子商務近幾年的飛速發(fā)展,現(xiàn)在使用電子郵件已經成為了主流,用戶可以隨時隨地方便的使用它來傳送信息,并且電子郵件作為一種新興的商務手段,也得到了廣泛的應用。雖然在電子商務不斷發(fā)展的同時,還逐漸出現(xiàn)了許多應用技術,如:IP 電話、網絡會議、留言版、論壇等等。然而電子郵件以其普及適用性、穩(wěn)定性、易用性、傳輸內容多樣性、相對保密性成為了眾多電子商務應用技術中最為普遍和重要的一種應用方式,并受到越來越多的人的青睞。可是,電子郵件作為一種計算機的數字化技術,其方便性和快捷性則非常重要,對設計和開發(fā)的郵件收發(fā)程序的要求也越來越高,我們都向著這個方向努力著。1.41.4 電子郵件的發(fā)展前景電子郵件的發(fā)展前景電子郵件系統(tǒng)經過幾十年的發(fā)展,已經形成了完善的技術體系。郵件服務器系統(tǒng)在保留了電子郵件系統(tǒng)最初的收發(fā)郵件、郵件存儲等基本功能的同時,融入了最新的計算機與網絡技術,使電子郵件系統(tǒng)有了全新的改觀 。電子郵件系統(tǒng)應該具備無限的擴展能力,Internet 網絡的一個特性是變化無常,我們需要應對隨時而來的應用尖峰。因此,我們需要電子郵件系統(tǒng)具有無限的可擴展能力,這個能力主要體現(xiàn)在郵件的處理能力和郵件的存儲能力上。為了能夠使郵件的處理能力可以無限擴展,就需要引入集群和負載均衡技術,使應用平臺可以在需要的時候無限擴充,滿足長期或臨時的業(yè)務需要。為了便于郵件存儲,需要高性能的郵件存儲解決方案。第 3 頁 共 28 頁總之,電子郵件是一項系統(tǒng)工程,需要網絡、數據存儲、數據庫、操作系統(tǒng)等技術的支持;它現(xiàn)在已經演變成為一個更加復雜并豐富得多的系統(tǒng),可以傳送聲音、圖片、圖象、文檔等多媒體信息,以至于如數據庫或帳目報告等更加專業(yè)化的文件都可以電子郵件附件的形式在網上分發(fā)。現(xiàn)在,電子郵件已成為許多商家和組織機構的生命血脈。用戶可以通過電子郵件的討論會進行項目管理,并且有時要根據快速,或洲際的電子郵件信息交換進行重要的決策行動。2 2開發(fā)分析開發(fā)分析2.12.1 開發(fā)背景開發(fā)背景當前流行的各大郵件客戶端軟件的除了最主要的收發(fā)信件之外,功能越來越復雜,但是人們平常真正用到的功能很少,很多功能尤其對于那些計算機知識相對缺乏的人來說,更加顯得過于華麗而不實用。在應用所學習知識的基礎上,設計一個人性化的,簡單,方便,快捷的郵件系統(tǒng)。2.22.2 工作原理分析工作原理分析電子郵件從寫到發(fā)送再到接收和讀取就和日常生活中我們郵寄的普通信件一樣。首先是寫信,再把信件交給郵局,再又郵局按照信封上的地址投遞,最后投遞到收件人的信箱中。收件人只要憑著他的鑰匙就可以拿到信件。同樣的,一封電子郵件首先要有一個用戶,用戶再把信件寫好,這個用戶必須是郵件系統(tǒng)認可的,所以用戶必須是寫入數據庫的。接著需要一個程序把這封電子郵件連同發(fā)件人信息及信件內容封裝發(fā)到接收郵件人地址。同樣的,收件人和收件人地址也必須是郵件系統(tǒng)所能識別的,也必須寫入數據庫。然后通過設計一個注冊用戶界面,將用戶信息注冊寫入,則可以很方便的把信件傳遞到目的信箱。然后再需要一個程序接收郵件,當然也不是只要隨便有一個程序就可以收的,還需要賬號(就象收信人的姓名)和口令(信箱鑰匙) 。即信件發(fā)送者可隨時隨地發(fā)送郵件,不要求接收者同時在場,即使對方現(xiàn)在不在,仍可將郵件立刻送到對方的信箱內,且存儲在對方的電子郵箱中。接收者可在他認為方便的時候讀取信件,不受時空限制。在這里,“發(fā)送”郵件意味著將郵件放到收件人的信箱中,而“接收”郵件則意味著從自己的信箱中讀取信件,信箱實際上是由文件管理系統(tǒng)支持的個實體。電子郵件的工作原理:1) 電子郵件系統(tǒng)是一種新型的信息系統(tǒng),是通信技術和計算機技術結合的產物。 其各個界面是基于 編寫的,而實現(xiàn)各個控件功能的代碼則是基于c#的。 第 4 頁 共 28 頁2) 電子郵件的基本原理,是在通信網上設立“電子信箱系統(tǒng)” ,它實際上是一個計算機系統(tǒng)。系統(tǒng)的硬件是一個高性能、大容量的計算機。硬盤作為信箱的存儲介質,在硬盤上為用戶分一定的存儲空間作為用戶的“信箱” ,每位用戶都有屬于自己的個電子信箱。并確定個用戶名和用戶可以自己隨意修改的口令。存儲空間包含存放所收信件、編輯信件以及信件存盤三部分空間,用戶使用口令開啟自己的信箱,并進行發(fā)信、讀信、編輯、轉發(fā)、存檔等各種操作。系統(tǒng)功能主要由軟件實現(xiàn)。3) 電子郵件的通信是在信箱之間進行的。用戶首先開啟自己的信箱,然后通過鍵入命令的方式將需要發(fā)送的郵件發(fā)到對方的信箱中。郵件在信箱之間進行傳遞和交換,也可以與另個郵件系統(tǒng)進行傳遞和交換。收方在取信時,使用特定賬號從信箱提取。3 3系統(tǒng)設計系統(tǒng)設計3.13.1 模塊的劃分與功能設計模塊的劃分與功能設計通過對用戶需求調研并進行了分析,確定郵件收發(fā)系統(tǒng)的功能模塊主要劃分為三部分:用戶管理、郵件管理、郵件收發(fā)。各模塊的具體功能設計如下:1)用戶管理:包括用戶注冊,用戶注冊登錄,對注冊用戶進行權限設定,對注冊用戶的添加和刪除等,對于一個完善的電子郵件系統(tǒng)來說,用戶管理是很重要的,通過它可以對文件、信件、用戶資料等加以保密。此外,也可以設置用戶的管理級,使用戶更好的使用和管理郵件。2)郵件管理:包括對郵件的移動,郵件修改,郵件刪除以及新建郵件夾等。這個是電子郵件最基本應該具有的功能,使用戶很方便的使用和管理自己的郵件,同時也節(jié)省了很多空間,如今,網絡上垃圾郵件非常多,控制和刪除便顯得由為重要了。3)電子郵件的發(fā)送:用戶運行該程序后,可以設置:收件人地址、寄件人地址、發(fā)送郵件的標題,發(fā)送郵件的正文、附件。4)電子郵件的接收:運行電子郵件接收程序后,就能夠很輕松的查看郵件。郵件中將顯示發(fā)件人、主題、內容和發(fā)送時間以及相關的附件等等。此外,該應用程序還能夠順利的瀏覽多封電子郵件。接收和發(fā)送郵件則是郵件系統(tǒng)最為重要的一個功能模塊了,也是人們使用第 5 頁 共 28 頁他的真正目的,它很容易的讓人們進行通信。系統(tǒng)功能模塊設置:1) 用戶注冊:未注冊用戶需注冊后才能進入系統(tǒng)。 操作對象:所有未注冊用戶。 瀏覽對象:所有未注冊用戶。 具體操作:注冊用戶在需填寫用戶名和密碼才能注冊。2) 用戶登錄:對注冊用戶和管理員的基本信息進行操作。 操作對象:系統(tǒng)管理員 瀏覽對象:系統(tǒng)管理員 具體操作:用戶使用注冊成功的帳戶名和密碼登陸。3) 用戶管理:合法用戶可以查看庫存所有用戶的信息資料。 操作對象:注冊用戶、管理員 瀏覽對象:注冊用戶、管理員 具體操作:管理員可以更改用戶的名稱,用戶的密碼,用戶郵件地址,用戶權限等用戶的詳細信息。4) 郵件管理:合法用戶可以查看庫存所有郵件的信息資料。 操作對象:注冊用戶、管理員 瀏覽對象:注冊用戶、管理員 具體操作:管理員可以將郵件從一個文件夾轉移到另一個文件夾。具體內容包括郵件標題,郵件內容,郵件創(chuàng)建時間,郵件創(chuàng)建用戶名,附件內容等。同時,還能對郵件內容進行編譯。5) 郵件收?。河糜诮邮蘸筒樵儊碜云渌脩舭l(fā)送的郵件 操作對象:注冊用戶、管理員 瀏覽對象:注冊用戶、管理員 具體操作:管理員在收件夾中可查詢接收郵件的名稱,發(fā)送用戶,發(fā)送地址,發(fā)送時間,信件內容以及相關附件。6) 郵件發(fā)送:用語發(fā)送郵件和郵件附件 操作對象:注冊用戶、管理員 瀏覽對象:注冊用戶、管理員 具體操作:用戶可以進入寫郵件界面編寫郵件和發(fā)送郵件,包括郵件標題,郵件內容,附件等并發(fā)送給目的地址。3.23.2 功能模塊的初步設計功能模塊的初步設計本郵件系統(tǒng)設計是在.NET 平臺上使用 C#語言實現(xiàn)的,后臺數據庫使用了第 6 頁 共 28 頁功能強大、性能優(yōu)越的 SQL Server 數據庫為用戶管理數據,瀏覽,交換信息帶來了極大的方便。本系統(tǒng)包括下列功能模塊:用戶注冊,用戶登陸,用戶管理,郵件管理,普通郵件發(fā)送,發(fā)送多附件,接收普通郵件,接收多附件,對文本郵件的編譯,信息內容的查詢。圖 1 功能體系圖3.2.13.2.1 前臺分析前臺分析1)用戶注冊:與一般的注冊流程一樣,用戶在注冊時需檢驗用戶名是否可用,以及密碼與確認密碼是否匹配。同時。它與數據庫動態(tài)連接,注冊合法的用戶及用戶密碼并寫入數據庫。只有注冊的用戶才能順利登陸郵件系統(tǒng),使用郵件系統(tǒng)。同時,密碼也被寫入數據庫。2)數據使用:用戶對于數據的使用包括了管理,傳遞與存儲,下面對這三方面需求分別做說明。數據管理:作為一個收發(fā)郵件系統(tǒng),數據信息管理是最重要的。對用戶資料的管理,郵件信息的管理,郵件的分類,對郵件的轉移和刪除等,合理的管理數據信息一方面節(jié)約了空間,另一方面又方便了使用。傳遞功能:對于郵件收發(fā)系統(tǒng)來說,這個功能是最為基本的。這里說的傳遞功能即郵件的發(fā)送和郵件的收取,它使數據進行了傳遞。這里是局域網內部的數據傳遞。數據存儲:對于一個系統(tǒng)設計,每一個環(huán)節(jié)都是為了協(xié)調另一個環(huán)節(jié)來完成的,要使用數據就必須有能使用的數據,不儲存自然無法使用,設計中沒有注冊到數據庫的地址和用戶無法使用。只有符合才能進入系統(tǒng)。3.2.23.2.2 后臺分析后臺分析后臺是數據分類存儲的重要平臺,對數據的合理規(guī)劃將能極大的提升系統(tǒng)第 7 頁 共 28 頁的性能。后臺主要是對用戶注冊的各類信息進行高效的管理,以便前臺隨時查詢和調用。 本系統(tǒng)主要分為兩類用戶:管理員一般是網站的負責人,擁有整個系統(tǒng)有最大的權限,可以任意添加和刪除其他用戶(不包括其他管理員)普通用戶具有查看自身信息、收發(fā)郵件等一些的基本功能,他的權限不如管理員。收發(fā)郵件系統(tǒng)詳細功能需求示意圖收發(fā)郵件系統(tǒng)詳細功能需求示意圖前臺后臺用戶注冊用戶管理信息傳遞數據存儲權限設置數據規(guī)劃圖 2 詳細功能示意圖3.33.3 數據庫設計數據庫設計數據庫設計是系統(tǒng)設計中非常重要的一個環(huán)節(jié),因為數據庫設計就像在建設高樓大廈的根基一樣,如果設計不好,在后來的系統(tǒng)維護,變更和功能擴充時,甚至于在系統(tǒng)開發(fā)過程中,將會引起比較大的問題,有時大量的工作將會重新進行。因此,設計一個合理的數據庫成為一個十分關鍵的步驟。因此,數據庫是負責數據共享網站所有信息的存儲,非常重要。本項目采用 SQL Server作為數據庫應該是比較穩(wěn)定和高效的。表 1 Attachments 第 8 頁 共 28 頁列(屬性)名中文名稱類型寬度是否允許為空AttachmentID附件 IDint4NONULLName名稱varcher50NULLUrl地址varcher255NULLType類型varcher50NULLContain內容int4NULLMailID郵件 IDint4NULL表 2 Folders 列(屬性)名中文名稱類型寬度是否允許為空FolderID文件夾 IDint4NonullName名稱varcher50NULLTotal總數int 4NULLNoReader是否閱讀int4NULLContain內容int4NULLCreatDate創(chuàng)建時間datetime8NULLFlagFlagbit1NULL表 3 Mails列(屬性)名中文名稱類型寬度是否允許為空MailID郵件 IDint4NonullTitle題目varcher255NULLBody內容text16NULLFromAddress發(fā)送地址text16NULLToAddress接收地址text16NULLCCAddress抄送地址text16NULLHTMLHTMLformat1NULL第 9 頁 共 28 頁表 4 Users(用戶表) 列(屬性)名中文名稱類型寬度是否允許為空UserID用戶 IDint4NonullUserName用戶名稱varcher32NULLPassword密碼varcher255NULLEmail郵件varcher200NULLIsAdmin是否為管理員bit1NULL表 5WebMailprolife 列(屬性)名中文名稱類型寬度是否允許為空WebMailIDWeb 郵件 IDint4NonullUserName用戶名稱varcher50NULLAliasName名稱varcher50NULLEmail郵件varcher255NULLMailServerIP郵件服務 IPvarcher50NULLMailServerPort郵件服務 Portint4NULL3.43.4 模塊的組織結構模塊的組織結構郵件收發(fā)系統(tǒng)是一個數據共享網站,采用了 B/S(Browser/Server,瀏覽器/服務器)模式又稱 B/S 結構。用戶使用從用戶注冊開始,流程如下:第 10 頁 共 28 頁用戶登陸主界面新建文件夾郵件系統(tǒng)配制用戶注冊新郵件收件箱發(fā)件箱草稿箱垃圾箱郵件文件夾圖 3 總體流程架構第 11 頁 共 28 頁用戶登陸電子郵件接收系統(tǒng)電子郵件發(fā)送系統(tǒng)附加功能各種錯誤的提示簡單郵件接收帶有附件的郵件接收簡單郵件發(fā)送帶有附件的郵件發(fā)送郵件管理用戶管理系統(tǒng)配置圖 4 總體功能架構圖4 4系統(tǒng)詳細設計系統(tǒng)詳細設計4.14.1用戶用戶“注冊注冊”的設計的設計在用戶注冊時頁面與數據庫動態(tài)連接,首先檢測該用戶注冊的用戶名和密碼是否為空,不為空再檢測數據庫中用戶名是否已存在,如果滿足條件則將用戶信息寫入數據庫,即注冊成功。不可用則放棄操作或重新填寫。第 12 頁 共 28 頁頁面加載開始用戶輸入相關信息判定格式信息寫入數據表結束格式錯誤/ 用戶名重名正確圖5 用戶注冊功能圖 protected void AddBtn_Click(object sender, EventArgs e) User user = new User(); user.AddUser(UserName.Text.Trim(),NewPassword.Text.Trim(),Email.Text.Trim(); Response.Write(alert( + 注冊新用戶成功,請妥善保管好你的信息! + );); Response.Redirect(/UserManage.aspx); protected void ReturnBtn_Click(object sender, EventArgs e) Response.Redirect(/UserManage.aspx); 4.24.2 用戶用戶“登錄登錄”的設計的設計用戶在登錄時,首先輸入用戶名和密碼,系統(tǒng)則定義類并獲取用戶的登錄信息,并檢查用戶輸入的用戶名信息數據庫中用戶名是否存在,如果存在則檢查密碼是否和用戶名匹配,合法則加載當前用戶的信息,不合法則顯示用戶名或密碼錯誤請重新輸入。為了加強安全性,這里還設置了驗證碼功能。第 13 頁 共 28 頁結束跳轉登陸后的頁 面顯示錯誤信息錯 誤開始用戶輸入用戶名及密 碼判斷用戶是否合 法輸入并驗證驗證 碼圖6 用戶登陸功能圖 String userId = ; IUser user = new User();string sUserName = Server.HtmlEncode(UserName.Text.Trim(); string sPassword = Server.HtmlEncode(Password.Text.Trim();SqlDataReader recu = user.GetUserLoginByProc(sUserName, user.Encrypt(sPassword); if (recu.Read() userId = recuUserID.ToString(); recu.Close(); if (userId != null) & (userId != ) SessionUserID = userId; Response.Redirect(/UserManage.aspx); else sValidator = CreateValidateString(6); ValidateImage.ImageUrl = sValidatorImageUrl + sValidator; Message.Text = 你輸入的用戶名稱或者密碼有誤,請重新輸入!; 4.34.3 修改用戶密碼的設計修改用戶密碼的設計在修改用戶密碼時首先需要輸入舊的密碼,同時對舊密碼和用戶驗證是否第 14 頁 共 28 頁正確,即和數據庫中注冊的用戶信息想符合才可以修改執(zhí)行命令,否則顯示錯誤信息,放棄當前操作。用戶輸入用戶名及密 碼結束判斷用戶是否合 法從數據庫讀取舊信息修改編譯舊用戶信息顯示錯誤信息不合法開始 圖7 用戶修改密碼功能圖 protected void UpdateBtn_Click(object sender, EventArgs e) IUser user = new User(); string sUserID = ; if (dr.Read() sUserID = drUserID.ToString(); dr.Close(); if (sUserID = null | sUserID = | sUserID.Length 0) Response.Write(alert( + 舊密碼輸入錯誤,請重新輸入密碼! + );); return; try /修改用戶密碼 user.UpdateUserPwd(nUserID,NewPassword.Text.Trim(); user.UpdateUserPwd(nUserID, user.Encrypt(NewPassword.Text.Trim(); Response.Write(alert( + 修改密碼成功,請妥善保管好數據! + );); 4.44.4 新建文件夾新建文件夾用戶在添加文件夾時,文件夾信息需要寫入數據庫,同時新建文件夾信息內容必須合法,否則操作錯誤,返回錯誤頁面。第 15 頁 共 28 頁開始用戶點擊資源頁面調用程序建立鏈接添加文件夾結束圖 8 新建文件夾功能圖 protected void NewBtn_Click(object sender,EventArgs e)try /定義對象IFolder folder = new Folder();/執(zhí)行數據庫操作folder.NewFolder(Name.Text.Trim();Response.Write(alert( + 添加數據成功,請妥善保管好你的數據! + ););catch(Exception ex) /跳轉到異常錯誤處理頁面Response.Redirect(ErrorPage.aspx?ErrorMsg= + ex.Message.Replace(,).Replace(n,)+ &ErrorUrl= + Request.Url.ToString().Replace(,).Replace(n,);protected void ReturnBtn_Click(object sender,EventArgs e) /返回到郵件列表頁面Response.Redirect(/MailDesktop.aspx);4.54.5 閱讀郵件閱讀郵件這是設計中最為基本的模塊功能,首先用戶獲取郵件夾內容,系統(tǒng)自行判斷郵件是否為新郵件并顯示,然后可以閱讀文件夾中任意郵件內容,包括發(fā)送人,發(fā)送地址,時間,題目,大小,內容等,閱讀完畢則可返回到主菜單界面。第 16 頁 共 28 頁開始查看郵件夾及當中郵 件判斷郵件是否為 新讀取郵件信 息內 容返回到郵件列表 面結束圖 9 閱讀郵件功能圖private void BindMailData(int nMailID)IMail mail = new Mail();SqlDataReader dr = mail.GetSingleMail(nMailID);if(dr.Read()Title.Text = drTitle.ToString();CC.Text = drCCAddress.ToString();To.Text = drToAddress.ToString();Body.Text = drBody.ToString();HtmlCB.Checked = bool.Parse(drHTMLFormat.ToString().ToLower();SqlDataReader drAttach = mail.GetAttachmentsByMail(nMailID);AttachView.DataSource = drAttach;AttachView.DataBind();drAttach.Close();dr.Close();protected void ReturnBtn_Click(object sender,EventArgs e)Response.Redirect(/ViewMail.aspx?FolderID= + nFolderID.ToString();protected void RecieverBtn_Click(object sender,EventArgs e)/回復郵件Response.Redirect(/Sender.aspx?MailID= + nMailID.ToString();4.64.6 重命名文件夾重命名文件夾在重命名文件夾時,首先從數據庫中獲取舊文件夾信息,再對文件夾信息第 17 頁 共 28 頁進行編譯修改,同時需要判斷新信息是否合法,合法則寫入數據庫,即操作成功,返回到郵件列表面,否則顯示錯誤信息。開始結束寫入數據庫顯示錯誤信息不合法返回到郵件列表 面修改編譯新的信息獲取文件夾信息內容圖 10 重命名文件夾功能圖private void BindFolderData(int nFolderID)IFolder folder = new Folder();SqlDataReader dr = folder.GetSingleFolder(nFolderID);if(dr.Read()Name.Text = drName.ToString();dr.Close();protected void NewBtn_Click(object sender,EventArgs e)try /定義對象IFolder folder = new Folder();/執(zhí)行數據庫操作folder.RenameFolder(nFolderID,Name.Text.Trim();Response.Write(alert( + 修改數據成功,請妥善保管好你的數據! + ););4.74.7 發(fā)送郵件發(fā)送郵件發(fā)送郵件是整個設計的核心功能模塊,這里還包括附件的發(fā)送。第 18 頁 共 28 頁開始添加發(fā)送郵件信 息結束發(fā) 送郵 件保 存發(fā) 送郵 件返回郵件列表主 面圖 11 發(fā)送郵件功能圖protected void NewBtn_Click(object sender,EventArgs e)int nContain = 0;/添加發(fā)件人地址string from = ;MailMessage mailMsg = new MailMessage();mailMsg.From = new MailAddress(from);nContain += mailMsg.From.Address.Length;/添加收件人地址string split = ;string toList = To.Text.Trim().Split(split.ToCharArray();for(int i = 0; i toList.Length; i+)mailMsg.To.Add(toListi.Trim();nContain += To.Text.Length;/添加抄送地址;string ccList = CC.Text.Trim().Split(split.ToCharArray();for(int i = 0; i 0)mailMsg.CC.Add(ccListi.Trim();nContain += CC.Text.Length;第 19 頁 共 28 頁/添加郵件主題mailMsg.Subject = Title.Text.Trim();mailMsg.SubjectEncoding = Encoding.UTF8;nContain += mailMsg.Subject.Length;/添加郵件內容mailMsg.Body = Body.Text;mailMsg.BodyEncoding = Encoding.UTF8;mailMsg.IsBodyHtml = HtmlCB.Checked;nContain += mailMsg.Body.Length;/添加郵件附件HttpFileCollection fileList = HttpContext.Current.Request.Files;for(int i = 0; i fileList.Count; i+) /添加單個附件HttpPostedFile file = fileListi;if(file.FileName.Length = 0 | file.ContentLength 0 ? true : false);if(nMailID 0) /保存發(fā)送郵件的附件for(int i = 0; i fileList.Count; i+) /添加單個附件第 20 頁 共 28 頁HttpPostedFile file = fileListi;if(file.FileName.Length = 0 | file.ContentLength = 0)break;/保存附件到硬盤中file.SaveAs(MapPath(MailAttachments/ + Path.GetFileName(file.FileName);/保存發(fā)送郵件的附件mail.SaveAsMailAttachment(Path.GetFileName(file.FileName),MailAttachments/ + Path.GetFileName(file.FileName),file.ContentType,file.ContentLength,nMailID);4.84.8 郵件用戶管理郵件用戶管理郵件用戶管理包括刪除,修改用戶資料,同時還可以對用戶權限進行設置,首先獲取數據庫中已有的用戶信息,再對其進行修改、刪除等操作,然后再將新的數據寫入數據庫。開 始獲取用戶信 息修改用戶信 息結 束刪除用戶改用戶信息設置用戶權限圖 12 郵件管理功能圖 protected void UserView_RowCommand(object sender, GridViewCommandEventArgs e) /獲取參數 string commandName = e.CommandName; int nUserID = -1; if (Int32.TryParse(e.CommandArgument.ToString(), out nUserID) = false | 第 21 頁 共 28 頁commandName = ) return; /創(chuàng)建User實例 IUser user = new User(); switch (commandName) case delete: /刪除選擇的用戶 user.DeleteUser(nUserID); /重新綁定GridView的數據 Response.Write(alert( + 刪除用戶成功,請檢查數據庫是否吻合! + );); BindUserData(); break; case admin: /管理員的權限設置 Button button = (Button)e.CommandSource; if (button = null) break; user.UpdateUserAdmin(nUserID, button.Text = 取消管理員權限 ? false : true); /重新綁定GridView的數據 Response.Write(alert( + 設置管理員權限成功,請檢查數據庫是否吻合! + );); 5 5系統(tǒng)功能系統(tǒng)功能界面演示界面演示5.15.1 用戶注冊功能用戶注冊功能界面演示界面演示未注冊用戶在登錄界面中點擊“注冊”,然后系統(tǒng)跳轉到注冊界面,在注冊界面中未注冊用戶在“用戶名”欄中填入“yy”,點擊“檢測該用戶名是否可用”按鈕,系統(tǒng)顯示該“用戶名可以使用”,說明這個用戶與系統(tǒng)用戶名沒有重復,可以使用。然后輸入密碼“123”與確認密碼“123”,最后按“注冊新用戶”,這時候在系統(tǒng)中就生成了一個名為“yy”的用戶。第 22 頁 共 28 頁圖 13 用戶注冊界面圖接著進入登錄界面,輸入剛注冊的用戶“yy”,密碼“123”以及正確的驗證碼,這里是“56789a”,如圖:圖 14 郵件管理界面圖然后我們我們通過登陸“yy”這個用戶進入系統(tǒng),查看該注冊用戶的信息。進入用戶管理頁面后,我們可以看到注冊用戶的信息,并且能對用戶進行操作。我們可以看到如圖界面:第 23 頁 共 28 頁圖 15 用戶管理界面圖5.25.2 管理功能管理功能界面演示界面演示在通過注冊、登陸后進入到主界面,可進行管理。這里可以很清楚的看到各個郵件夾及當中郵件的信息情況,當中可以對郵件進行管理,包括郵件刪除,郵件轉移等。在運行到上個界面時點擊“郵件管理”進入到如下界面:圖 16 管理功能界面演示圖還可以根據自己的需要創(chuàng)建自己的郵件夾,比如創(chuàng)建“yys email”如圖:圖 17 新建文件夾界面圖第 24 頁 共 28 頁5.35.3 接收送功能接收送功能界面演示界面演示點擊任何文件夾都可以查看其中的文件內容,比如點擊了收件箱則跳轉到如下界面:圖 18 查看文件夾界面圖然后選擇要查看的郵件,比如這里查看第一封郵件“AliasName Email”如圖:圖19 查看郵件界面圖同樣。發(fā)送郵件直接點擊新郵件,內容包括手件人,主題,抄送人地址,內容,附件等,如圖:第 25 頁 共 28 頁圖20 發(fā)送郵件界面圖結結 論論通過查找資料,老師的指導,和同學的幫助,最后終于完成了一個比較簡單的程序。通過本次畢業(yè)設計,體驗到了軟件開發(fā)過程中所有需要完成的工作。并切身的體驗了一下把理論知識應用到實踐的過程。但是由于畢業(yè)設計時間較短,所以該系統(tǒng)存在許多不盡如人意的地方,比如界面設計與風格不太美觀,性能不夠完善,對畢業(yè)設計(論文)具體步驟相關信息考察不夠等多方面問題,這些都有待進一步改善。在系統(tǒng)開發(fā)的過程中,遇到了很多問題,有語法的也有邏輯的,通過請教老師和同學,問題都得到了解決,同時也讓我深刻體會自己在這方面的不足。我深深地明白了軟件設計的重要性,由于軟件開發(fā)前期設計的不規(guī)范,導致在代碼編寫時走了許多彎路,為了符合系統(tǒng)功能的要求,對數據庫改動了許多次。作者有了這次寶貴的經驗,在今后的工作和學習中對系統(tǒng)中未能解決的問題將做進一步的完善,深入對 C#和數據庫的學習。通過本次實踐,懂得實踐的重要性,要把平時積累的知識應用到實際的編程中,以后將改善自身在學習上不足,多參加實踐,為以后的學習和工作打下良好基礎。參考文獻參考文獻1 Simon Robinson, K.Scott Allen 等.C#高級編程J.北京:清華大學出版社,2002。2 Tom Archer.C#技術內幕M.北京:清華大學出版社,2002。3 沉舟.Microsoft.NET 編程語言 C#M.北京:希望電子出版社,2001。第 26 頁 共 28 頁4 羅軍舟,黎波濤,楊明等.TCP/IP 協(xié)議及網絡編程技術M.北京: 清華大學出版,2004。5 Tim Parker.TCP/IP 協(xié)議及網絡編程技術M.北京: 機械工業(yè)出版社,2004。6 周存杰.Visual C#.NET 網絡核心編程M.北京:清華大學出版社,2002。7李佳生.C#編程技巧典型案例解析M.北京:中國電力出版社,2005。8云顛工作室 Visual C#中文版全面剖析M.北京:中國水利水電出版社,2003。第 27 頁 共 28 頁致致 謝謝本文是在 李中志老師的熱情關心和指導下完成的,他淵博的知識和嚴謹的治學作風使我受益匪淺,對順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝!在論文完成過程中,本人還得到了許多同學的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝!作者簡介:姓 名:黨寧 性別: 男出生年月:1984 年 11 月 民族: 漢E-mail:第 28 頁 共 28 頁聲聲 明明本論文的工作是 2007 年 2 月至 2007 年 6 月在成都信息工程學院網絡工程系完成的。文中除了特別加以標注地方外,不包含他人已經發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學院或其他教學機構的學位或證書而使用過的材料。除非另有說明,本文的工作是原始性工作。關于學位論文使用權和研究成果知識產權的說明:本人完全了解成都信息工程學院有關保管使用學位論文的規(guī)定,其中包括:(1)學校有權保管并向有關部門遞交學位論文的原件與復印件。(2)學校可以采用影印、縮印或其他復制方式保存學位論文。(3)學??梢詫W術交流為目的復制、贈送和交換學位論文。(4)學校可允許學位論文被查閱或借閱。(5)學校可以公布學位論文的全部或部分內容(保密學位論文在解密后遵守此規(guī)定) 。除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學院。特此聲明! 作者簽名: 2007 年 06 月 日
收藏