基于JAVA的郵件收發(fā)系統(tǒng)的設計_第1頁
基于JAVA的郵件收發(fā)系統(tǒng)的設計_第2頁
基于JAVA的郵件收發(fā)系統(tǒng)的設計_第3頁
基于JAVA的郵件收發(fā)系統(tǒng)的設計_第4頁
基于JAVA的郵件收發(fā)系統(tǒng)的設計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE基于JAVA的郵件收發(fā)系統(tǒng)的設計摘要在經濟全球化和信息技術飛速發(fā)展的今天,通過郵件收發(fā)進行信息傳遞已經成為主流。目前,基于B/S(Browser/Server)模式的MIS(Managementinformationsystem)日益成熟,Web已從靜態(tài)的HTML到動態(tài)的網頁,使系統(tǒng)的開發(fā)、管理和維護變得非常方便。因此,本系統(tǒng)研究并開發(fā)了基于B/S模式的郵件收發(fā)程序系統(tǒng)?!多]件收發(fā)程序的設計與開發(fā)》是一個綜合性的程序設計,涉及到界面、系統(tǒng)、數(shù)據(jù)庫、協(xié)議、編碼等多個方面的內容。本設計前臺采用.NET技術,后臺數(shù)據(jù)庫采用SQLServer2000,語言采用C#,主要講述了郵件系統(tǒng)的注冊、登陸、管理、發(fā)送和接收郵件等基本功能及設計方法。在系統(tǒng)分析中先后用系統(tǒng)的結構圖分析了郵件系統(tǒng),包括功能流程和功能分析,數(shù)據(jù)庫表格。在整個系統(tǒng)的設計中,詳細的展現(xiàn)了用戶系統(tǒng)的各個功能模塊,菜單的設計等。同時在系統(tǒng)的實現(xiàn)中,給出了實現(xiàn)表單中相應的后臺數(shù)據(jù)庫服務,前臺功能控件的事件及代碼以及界面實現(xiàn)的方法。最后,對系統(tǒng)設計的各個功能做了相應測試,并給出了相關設計頁面截面的直觀圖。關鍵字:C#;郵件系統(tǒng);SQLServer數(shù)據(jù)庫TheDesigningandDevelopmentofEmailReceivingandSendingSystemAbstractRecentlyastheeconomicbecameglobalizationandtheinformationtechnologydevelopedrapidly,thelevelofenterpriseInformationisthekeytodrivethetechnologicalinnovationandtoupgradeofallwork.Currently,themodelofMIS(ManagementInformationSystem)basedontheB/S(Browser/Server)isbecomingincreasinglymatureandenterpriseWebhavealreadybeenfromstaticHTMLtodynamicwebsite,whichallowingthesystemtothedevelopment,managementandmaintenancebecameconvenience.Therefore,thissystemresearchedanddevelopedtheinventorymanagementinformationsystembasedontheB/Smode.《ThedesigninganddevelopmentofEmailreceivingandsendingsystem》isacomprehensivedesignprocessinvolvingtheinterface,system,database,agreement,codingandotheraspects.Thedesigninguses.NETtechnology,backgrounddatabaseusingSQLServer2000,C#aslanguage.Itmainlydescribedthemailsystemontheregistration,landing,andmanagement,sendingandreceivingmailandotherbasicfunctionsanddesignmethods.Insystemsanalysisthesystemstructurewasusedtoanalyzethemailsystem,includingthefunctionalprocessesandfunctionalanalysis,databasetables.Duringtheentiresystemdesign,thevarioususersystemfunctionalmodules,menudesignweredetaileddisplayed.Meanwhileinthesystemrealization,thecorrespondingbackstagedatabaseservice,theonstagefunctioneventcontrollerandthecodeaswellasthecontactsurfacerealizationmethodwereofferedintherealizationtablelist.Finally,thecorrespondingtesthasbeengiventosystemdesigneachfunction,andthecorrelationdesignpagesectiondirect-viewingcharthasbeenproduced.Keywords:C#;EmailSystem;SQLServer第1頁共28頁隨著網絡的不間斷發(fā)展,依靠網絡的通信手段實現(xiàn)普通郵件信息的傳輸,取代了傳統(tǒng)的紙上書寫、信箱投寄、郵局傳送的郵寄方式。運用最為快捷,簡潔,方便的電子郵件已成為許多商家和組織機構的生命血脈。用戶可以通過電子郵件的討論會進行項目管理,并且有時要根據(jù)快速,或洲際的電子郵件信息交換進行重要的決策行動。對電子郵件的現(xiàn)狀分析自從1987年9月,CANET在北京計算機應用技術研究所內正式建成中國第一個國際互聯(lián)網電子郵件節(jié)點,并于9月14日發(fā)出了中國第一封電子郵件:"AcrosstheGreatWallwecanreacheverycornerintheworld.(越過長城,走向世界)"以來,電子郵件服務在我國得到了飛速的發(fā)展。至2005年7月,依據(jù)中國互聯(lián)網絡信息中心頒布的《第十六次中國互聯(lián)網絡發(fā)展狀況統(tǒng)計報告》的結果顯示,我國網民人數(shù)已達1.03億人,平均擁有1.6個E-mail,平均每周收到5.2封電子郵件(不包括垃圾郵件),發(fā)出3.7封電子郵件。同時,這次統(tǒng)計報告還顯示,電子郵件服務依舊是除萬維網之外,應用最為廣泛的一種服務,我國網民對電子郵件的使用率已經達到了91.3%。隨著電子商務近幾年的飛速發(fā)展,現(xiàn)在使用電子郵件已經成為了主流,用戶可以隨時隨地方便的使用它來傳送信息,并且電子郵件作為一種新興的商務手段,也得到了廣泛的應用。雖然在電子商務不斷發(fā)展的同時,還逐漸出現(xiàn)了許多應用技術,如:IP電話、網絡會議、留言版、論壇等等。然而電子郵件以其普及適用性、穩(wěn)定性、易用性、傳輸內容多樣性、相對保密性成為了眾多電子商務應用技術中最為普遍和重要的一種應用方式,并受到越來越多的人的青睞??墒?,電子郵件作為一種計算機的數(shù)字化技術,其方便性和快捷性則非常重要,對設計和開發(fā)的郵件收發(fā)程序的要求也越來越高,我們都向著這個方向努力著。電子郵件的發(fā)展前景電子郵件系統(tǒng)經過幾十年的發(fā)展,已經形成了完善的技術體系。郵件服務器系統(tǒng)在保留了電子郵件系統(tǒng)最初的收發(fā)郵件、郵件存儲等基本功能的同時,融入了最新的計算機與網絡技術,使電子郵件系統(tǒng)有了全新的改觀。電子郵件系統(tǒng)應該具備無限的擴展能力,Internet網絡的一個特性是變化無常,我們需要應對隨時而來的應用尖峰。因此,我們需要電子郵件系統(tǒng)具有無限的可擴展能力,這個能力主要體現(xiàn)在郵件的處理能力和郵件的存儲能力上。為了能夠使郵件的處理能力可以無限擴展,就需要引入集群和負載均衡技術,使應用平臺可以在需要的時候無限擴充,滿足長期或臨時的業(yè)務需要。為了便于郵件存儲,需要高性能的郵件存儲解決方案??傊?,電子郵件是一項系統(tǒng)工程,需要網絡、數(shù)據(jù)存儲、數(shù)據(jù)庫、操作系統(tǒng)等技術的支持;它現(xiàn)在已經演變成為一個更加復雜并豐富得多的系統(tǒng),可以傳送聲音、圖片、圖象、文檔等多媒體信息,以至于如數(shù)據(jù)庫或帳目報告等更加專業(yè)化的文件都可以電子郵件附件的形式在網上分發(fā)?,F(xiàn)在,電子郵件已成為許多商家和組織機構的生命血脈。用戶可以通過電子郵件的討論會進行項目管理,并且有時要根據(jù)快速,或洲際的電子郵件信息交換進行重要的決策行動。開發(fā)分析開發(fā)背景當前流行的各大郵件客戶端軟件的除了最主要的收發(fā)信件之外,功能越來越復雜,但是人們平常真正用到的功能很少,很多功能尤其對于那些計算機知識相對缺乏的人來說,更加顯得過于華麗而不實用。在應用所學習知識的基礎上,設計一個人性化的,簡單,方便,快捷的郵件系統(tǒng)。工作原理分析電子郵件從寫到發(fā)送再到接收和讀取就和日常生活中我們郵寄的普通信件一樣。首先是寫信,再把信件交給郵局,再又郵局按照信封上的地址投遞,最后投遞到收件人的信箱中。收件人只要憑著他的鑰匙就可以拿到信件。同樣的,一封電子郵件首先要有一個用戶,用戶再把信件寫好,這個用戶必須是郵件系統(tǒng)認可的,所以用戶必須是寫入數(shù)據(jù)庫的。接著需要一個程序把這封電子郵件連同發(fā)件人信息及信件內容封裝發(fā)到接收郵件人地址。同樣的,收件人和收件人地址也必須是郵件系統(tǒng)所能識別的,也必須寫入數(shù)據(jù)庫。然后通過設計一個注冊用戶界面,將用戶信息注冊寫入,則可以很方便的把信件傳遞到目的信箱。然后再需要一個程序接收郵件,當然也不是只要隨便有一個程序就可以收的,還需要賬號(就象收信人的姓名)和口令(信箱鑰匙)。即信件發(fā)送者可隨時隨地發(fā)送郵件,不要求接收者同時在場,即使對方現(xiàn)在不在,仍可將郵件立刻送到對方的信箱內,且存儲在對方的電子郵箱中。接收者可在他認為方便的時候讀取信件,不受時空限制。在這里,“發(fā)送”郵件意味著將郵件放到收件人的信箱中,而“接收”郵件則意味著從自己的信箱中讀取信件,信箱實際上是由文件管理系統(tǒng)支持的—個實體。電子郵件的工作原理:1)電子郵件系統(tǒng)是一種新型的信息系統(tǒng),是通信技術和計算機技術結合的產物。其各個界面是基于編寫的,而實現(xiàn)各個控件功能的代碼則是基于c#的。2)電子郵件的基本原理,是在通信網上設立“電子信箱系統(tǒng)”,它實際上是一個計算機系統(tǒng)。系統(tǒng)的硬件是一個高性能、大容量的計算機。硬盤作為信箱的存儲介質,在硬盤上為用戶分一定的存儲空間作為用戶的“信箱”,每位用戶都有屬于自己的—個電子信箱。并確定—個用戶名和用戶可以自己隨意修改的口令。存儲空間包含存放所收信件、編輯信件以及信件存盤三部分空間,用戶使用口令開啟自己的信箱,并進行發(fā)信、讀信、編輯、轉發(fā)、存檔等各種操作。系統(tǒng)功能主要由軟件實現(xiàn)。3)電子郵件的通信是在信箱之間進行的。用戶首先開啟自己的信箱,然后通過鍵入命令的方式將需要發(fā)送的郵件發(fā)到對方的信箱中。郵件在信箱之間進行傳遞和交換,也可以與另—個郵件系統(tǒng)進行傳遞和交換。收方在取信時,使用特定賬號從信箱提取。系統(tǒng)設計模塊的劃分與功能設計通過對用戶需求調研并進行了分析,確定郵件收發(fā)系統(tǒng)的功能模塊主要劃分為三部分:用戶管理、郵件管理、郵件收發(fā)。各模塊的具體功能設計如下:1)用戶管理:包括用戶注冊,用戶注冊登錄,對注冊用戶進行權限設定,對注冊用戶的添加和刪除等,對于一個完善的電子郵件系統(tǒng)來說,用戶管理是很重要的,通過它可以對文件、信件、用戶資料等加以保密。此外,也可以設置用戶的管理級,使用戶更好的使用和管理郵件。2)郵件管理:包括對郵件的移動,郵件修改,郵件刪除以及新建郵件夾等。這個是電子郵件最基本應該具有的功能,使用戶很方便的使用和管理自己的郵件,同時也節(jié)省了很多空間,如今,網絡上垃圾郵件非常多,控制和刪除便顯得由為重要了。3)電子郵件的發(fā)送:用戶運行該程序后,可以設置:收件人地址、寄件人地址、發(fā)送郵件的標題,發(fā)送郵件的正文、附件。4)電子郵件的接收:運行電子郵件接收程序后,就能夠很輕松的查看郵件。郵件中將顯示發(fā)件人、主題、內容和發(fā)送時間以及相關的附件等等。此外,該應用程序還能夠順利的瀏覽多封電子郵件。接收和發(fā)送郵件則是郵件系統(tǒng)最為重要的一個功能模塊了,也是人們使用他的真正目的,它很容易的讓人們進行通信。系統(tǒng)功能模塊設置:用戶注冊:未注冊用戶需注冊后才能進入系統(tǒng)。操作對象:所有未注冊用戶。瀏覽對象:所有未注冊用戶。具體操作:注冊用戶在需填寫用戶名和密碼才能注冊。用戶登錄:對注冊用戶和管理員的基本信息進行操作。操作對象:系統(tǒng)管理員瀏覽對象:系統(tǒng)管理員具體操作:用戶使用注冊成功的帳戶名和密碼登陸。用戶管理:合法用戶可以查看庫存所有用戶的信息資料。操作對象:注冊用戶、管理員瀏覽對象:注冊用戶、管理員具體操作:管理員可以更改用戶的名稱,用戶的密碼,用戶郵件地址,用戶權限等用戶的詳細信息。郵件管理:合法用戶可以查看庫存所有郵件的信息資料。操作對象:注冊用戶、管理員瀏覽對象:注冊用戶、管理員具體操作:管理員可以將郵件從一個文件夾轉移到另一個文件夾。具體內容包括郵件標題,郵件內容,郵件創(chuàng)建時間,郵件創(chuàng)建用戶名,附件內容等。同時,還能對郵件內容進行編譯。郵件收取:用于接收和查詢來自其他用戶發(fā)送的郵件操作對象:注冊用戶、管理員瀏覽對象:注冊用戶、管理員具體操作:管理員在收件夾中可查詢接收郵件的名稱,發(fā)送用戶,發(fā)送地址,發(fā)送時間,信件內容以及相關附件。郵件發(fā)送:用語發(fā)送郵件和郵件附件操作對象:注冊用戶、管理員瀏覽對象:注冊用戶、管理員具體操作:用戶可以進入寫郵件界面編寫郵件和發(fā)送郵件,包括郵件標題,郵件內容,附件等并發(fā)送給目的地址。功能模塊的初步設計本郵件系統(tǒng)設計是在.NET平臺上使用C#語言實現(xiàn)的,后臺數(shù)據(jù)庫使用了功能強大、性能優(yōu)越的SQLServer數(shù)據(jù)庫為用戶管理數(shù)據(jù),瀏覽,交換信息帶來了極大的方便。本系統(tǒng)包括下列功能模塊:用戶注冊,用戶登陸,用戶管理,郵件管理,普通郵件發(fā)送,發(fā)送多附件,接收普通郵件,接收多附件,對文本郵件的編譯,信息內容的查詢。圖1功能體系圖3.2.1前臺分析1)用戶注冊:與一般的注冊流程一樣,用戶在注冊時需檢驗用戶名是否可用,以及密碼與確認密碼是否匹配。同時。它與數(shù)據(jù)庫動態(tài)連接,注冊合法的用戶及用戶密碼并寫入數(shù)據(jù)庫。只有注冊的用戶才能順利登陸郵件系統(tǒng),使用郵件系統(tǒng)。同時,密碼也被寫入數(shù)據(jù)庫。2)數(shù)據(jù)使用:用戶對于數(shù)據(jù)的使用包括了管理,傳遞與存儲,下面對這三方面需求分別做說明。數(shù)據(jù)管理:作為一個收發(fā)郵件系統(tǒng),數(shù)據(jù)信息管理是最重要的。對用戶資料的管理,郵件信息的管理,郵件的分類,對郵件的轉移和刪除等,合理的管理數(shù)據(jù)信息一方面節(jié)約了空間,另一方面又方便了使用。傳遞功能:對于郵件收發(fā)系統(tǒng)來說,這個功能是最為基本的。這里說的傳遞功能即郵件的發(fā)送和郵件的收取,它使數(shù)據(jù)進行了傳遞。這里是局域網內部的數(shù)據(jù)傳遞。數(shù)據(jù)存儲:對于一個系統(tǒng)設計,每一個環(huán)節(jié)都是為了協(xié)調另一個環(huán)節(jié)來完成的,要使用數(shù)據(jù)就必須有能使用的數(shù)據(jù),不儲存自然無法使用,設計中沒有注冊到數(shù)據(jù)庫的地址和用戶無法使用。只有符合才能進入系統(tǒng)。3.2.2后臺分析后臺是數(shù)據(jù)分類存儲的重要平臺,對數(shù)據(jù)的合理規(guī)劃將能極大的提升系統(tǒng)的性能。后臺主要是對用戶注冊的各類信息進行高效的管理,以便前臺隨時查詢和調用。本系統(tǒng)主要分為兩類用戶:管理員一般是網站的負責人,擁有整個系統(tǒng)有最大的權限,可以任意添加和刪除其他用戶(不包括其他管理員)普通用戶具有查看自身信息、收發(fā)郵件等一些的基本功能,他的權限不如管理員。收發(fā)郵件系統(tǒng)詳細功能需求示意圖收發(fā)郵件系統(tǒng)詳細功能需求示意圖前臺后臺用戶注冊用戶管理信息傳遞數(shù)據(jù)存儲權限設置數(shù)據(jù)規(guī)劃圖2詳細功能示意圖數(shù)據(jù)庫設計數(shù)據(jù)庫設計是系統(tǒng)設計中非常重要的一個環(huán)節(jié),因為數(shù)據(jù)庫設計就像在建設高樓大廈的根基一樣,如果設計不好,在后來的系統(tǒng)維護,變更和功能擴充時,甚至于在系統(tǒng)開發(fā)過程中,將會引起比較大的問題,有時大量的工作將會重新進行。因此,設計一個合理的數(shù)據(jù)庫成為一個十分關鍵的步驟。因此,數(shù)據(jù)庫是負責數(shù)據(jù)共享網站所有信息的存儲,非常重要。本項目采用SQLServer作為數(shù)據(jù)庫應該是比較穩(wěn)定和高效的。表1Attachments列(屬性)名中文名稱類型寬度是否允許為空AttachmentID附件IDint4NONULLName名稱varcher50NULLUrl地址varcher255NULLType類型varcher50NULLContain內容int4NULLMailID郵件IDint4NULL表2Folders列(屬性)名中文名稱類型寬度是否允許為空FolderID文件夾IDint4NonullName名稱varcher50NULLTotal總數(shù)int4NULLNoReader是否閱讀int4NULLContain內容int4NULLCreatDate創(chuàng)建時間datetime8NULLFlagFlagbit1NULL表3Mails列(屬性)名中文名稱類型寬度是否允許為空MailID郵件IDint4NonullTitle題目varcher255NULLBody內容text16NULLFromAddress發(fā)送地址text16NULLToAddress接收地址text16NULLCCAddress抄送地址text16NULLHTMLHTMLformat1NULL表4Users(用戶表)列(屬性)名中文名稱類型寬度是否允許為空UserID用戶IDint4NonullUserName用戶名稱varcher32NULLPassword密碼varcher255NULLEmail郵件varcher200NULLIsAdmin是否為管理員bit1NULL表5WebMailprolife列(屬性)名中文名稱類型寬度是否允許為空WebMailIDWeb郵件IDint4NonullUserName用戶名稱varcher50NULLAliasName名稱varcher50NULLEmail郵件varcher255NULLMailServerIP郵件服務IPvarcher50NULLMailServerPort郵件服務Portint4NULL模塊的組織結構郵件收發(fā)系統(tǒng)是一個數(shù)據(jù)共享網站,采用了B/S(Browser/Server,瀏覽器/服務器)模式又稱B/S結構。用戶使用從用戶注冊開始,流程如下:用戶登陸主界面新建文件夾用戶登陸主界面新建文件夾郵件系統(tǒng)配制用戶注冊新郵件收件箱發(fā)件箱草稿箱垃圾箱郵件文件夾圖3總體流程架構用戶登陸用戶登陸電子郵件接收系統(tǒng)電子郵件發(fā)送系統(tǒng)附加功能各種錯誤的提示簡單郵件接收帶有附件的郵件接收簡單郵件發(fā)送帶有附件的郵件發(fā)送郵件管理用戶管理系統(tǒng)配置圖4總體功能架構圖系統(tǒng)詳細設計用戶“注冊”的設計在用戶注冊時頁面與數(shù)據(jù)庫動態(tài)連接,首先檢測該用戶注冊的用戶名和密碼是否為空,不為空再檢測數(shù)據(jù)庫中用戶名是否已存在,如果滿足條件則將用戶信息寫入數(shù)據(jù)庫,即注冊成功。不可用則放棄操作或重新填寫。頁頁面加載開始用戶輸入相關信息判定格式信息寫入數(shù)據(jù)表結束格式錯誤/用戶名重名正確圖5用戶注冊功能圖protectedvoidAddBtn_Click(objectsender,EventArgse){Useruser=newUser();user.AddUser(UserName.Text.Trim(),NewPassword.Text.Trim(),Email.Text.Trim());Response.Write("<script>alert('"+"注冊新用戶成功,請妥善保管好你的信息!"+"');</script>");Response.Redirect("~/UserManage.aspx");}protectedvoidReturnBtn_Click(objectsender,EventArgse){Response.Redirect("~/UserManage.aspx");}用戶“登錄”的設計用戶在登錄時,首先輸入用戶名和密碼,系統(tǒng)則定義類并獲取用戶的登錄信息,并檢查用戶輸入的用戶名信息數(shù)據(jù)庫中用戶名是否存在,如果存在則檢查密碼是否和用戶名匹配,合法則加載當前用戶的信息,不合法則顯示用戶名或密碼錯誤請重新輸入。為了加強安全性,這里還設置了驗證碼功能。結束結束跳轉登陸后的頁面顯示錯誤信息錯誤開始用戶輸入用戶名及密碼判斷用戶是否合法輸入并驗證驗證碼圖6用戶登陸功能圖StringuserId="";IUseruser=newUser();stringsUserName=Server.HtmlEncode(UserName.Text.Trim());stringsPassword=Server.HtmlEncode(Password.Text.Trim());SqlDataReaderrecu=user.GetUserLoginByProc(sUserName,user.Encrypt(sPassword));if(recu.Read()){userId=recu["UserID"].ToString();}recu.Close();if((userId!=null)&&(userId!="")){Session["UserID"]=userId;Response.Redirect("~/UserManage.aspx");}else{sValidator=CreateValidateString(6);ValidateImage.ImageUrl=sValidatorImageUrl+sValidator;Message.Text="你輸入的用戶名稱或者密碼有誤,請重新輸入!";}}}修改用戶密碼的設計在修改用戶密碼時首先需要輸入舊的密碼,同時對舊密碼和用戶驗證是否正確,即和數(shù)據(jù)庫中注冊的用戶信息想符合才可以修改執(zhí)行命令,否則顯示錯誤信息,放棄當前操作。用戶輸入用戶名及密碼用戶輸入用戶名及密碼結束判斷用戶是否合法從數(shù)據(jù)庫讀取舊信息修改編譯舊用戶信息顯示錯誤信息不合法開始圖7用戶修改密碼功能圖protectedvoidUpdateBtn_Click(objectsender,EventArgse){IUseruser=newUser();stringsUserID="";if(dr.Read()){sUserID=dr["UserID"].ToString();}dr.Close();if(sUserID==null||sUserID==""||sUserID.Length<0){Response.Write("<script>alert('"+"舊密碼輸入錯誤,請重新輸入密碼!"+"');</script>");return;}try{///修改用戶密碼user.UpdateUserPwd(nUserID,NewPassword.Text.Trim());user.UpdateUserPwd(nUserID,user.Encrypt(NewPassword.Text.Trim()));Response.Write("<script>alert('"+"修改密碼成功,請妥善保管好數(shù)據(jù)!"+"');</script>");}新建文件夾用戶在添加文件夾時,文件夾信息需要寫入數(shù)據(jù)庫,同時新建文件夾信息內容必須合法,否則操作錯誤,返回錯誤頁面。開始開始用戶點擊資源頁面調用程序建立鏈接添加文件夾結束圖8新建文件夾功能圖 protectedvoidNewBtn_Click(objectsender,EventArgse) { try {///定義對象 IFolderfolder=newFolder(); ///執(zhí)行數(shù)據(jù)庫操作 folder.NewFolder(Name.Text.Trim()); Response.Write("<script>alert('"+"添加數(shù)據(jù)成功,請妥善保管好你的數(shù)據(jù)!"+"');</script>"); } catch(Exceptionex) {///跳轉到異常錯誤處理頁面 Response.Redirect("ErrorPage.aspx?ErrorMsg="+ex.Message.Replace("<br>","").Replace("\n","") +"&ErrorUrl="+Request.Url.ToString().Replace("<br>","").Replace("\n","")); } } protectedvoidReturnBtn_Click(objectsender,EventArgse) {///返回到郵件列表頁面 Response.Redirect("~/MailDesktop.aspx"); } }閱讀郵件這是設計中最為基本的模塊功能,首先用戶獲取郵件夾內容,系統(tǒng)自行判斷郵件是否為新郵件并顯示,然后可以閱讀文件夾中任意郵件內容,包括發(fā)送人,發(fā)送地址,時間,題目,大小,內容等,閱讀完畢則可返回到主菜單界面。開始開始查看郵件夾及當中郵件判斷郵件是否為新讀取郵件信息內容返回到郵件列表面結束圖9閱讀郵件功能圖privatevoidBindMailData(intnMailID) { IMailmail=newMail(); SqlDataReaderdr=mail.GetSingleMail(nMailID); if(dr.Read()) { Title.Text=dr["Title"].ToString(); CC.Text=dr["CCAddress"].ToString(); To.Text=dr["ToAddress"].ToString(); Body.Text=dr["Body"].ToString(); HtmlCB.Checked=bool.Parse(dr["HTMLFormat"].ToString().ToLower()); SqlDataReaderdrAttach=mail.GetAttachmentsByMail(nMailID); AttachView.DataSource=drAttach; AttachView.DataBind(); drAttach.Close(); } dr.Close(); } protectedvoidReturnBtn_Click(objectsender,EventArgse) { Response.Redirect("~/ViewMail.aspx?FolderID="+nFolderID.ToString()); } protectedvoidRecieverBtn_Click(objectsender,EventArgse) { ///回復郵件 Response.Redirect("~/Sender.aspx?MailID="+nMailID.ToString()); }}重命名文件夾在重命名文件夾時,首先從數(shù)據(jù)庫中獲取舊文件夾信息,再對文件夾信息進行編譯修改,同時需要判斷新信息是否合法,合法則寫入數(shù)據(jù)庫,即操作成功,返回到郵件列表面,否則顯示錯誤信息。開始開始結束寫入數(shù)據(jù)庫顯示錯誤信息不合法返回到郵件列表面修改編譯新的信息獲取文件夾信息內容圖10重命名文件夾功能圖 privatevoidBindFolderData(intnFolderID) { IFolderfolder=newFolder(); SqlDataReaderdr=folder.GetSingleFolder(nFolderID); if(dr.Read()) { Name.Text=dr["Name"].ToString(); } dr.Close(); } protectedvoidNewBtn_Click(objectsender,EventArgse) { try {///定義對象 IFolderfolder=newFolder(); ///執(zhí)行數(shù)據(jù)庫操作 folder.RenameFolder(nFolderID,Name.Text.Trim()); Response.Write("<script>alert('"+"修改數(shù)據(jù)成功,請妥善保管好你的數(shù)據(jù)!"+"');</script>"); } 發(fā)送郵件發(fā)送郵件是整個設計的核心功能模塊,這里還包括附件的發(fā)送。開始開始添加發(fā)送郵件信息結束發(fā)送郵件保存發(fā)送郵件返回郵件列表主面圖11發(fā)送郵件功能圖protectedvoidNewBtn_Click(objectsender,EventArgse) { intnContain=0; ///添加發(fā)件人地址 stringfrom="admin@"; MailMessagemailMsg=newMailMessage(); mailMsg.From=newMailAddress(from); nContain+=mailMsg.From.Address.Length; ///添加收件人地址 stringsplit=";"; string[]toList=To.Text.Trim().Split(split.ToCharArray()); for(inti=0;i<toList.Length;i++) { mailMsg.To.Add(toList[i].Trim()); } nContain+=To.Text.Length; ///添加抄送地址; string[]ccList=CC.Text.Trim().Split(split.ToCharArray()); for(inti=0;i<ccList.Length;i++) { if(ccList[i].Trim().Length>0) { mailMsg.CC.Add(ccList[i].Trim()); } } nContain+=CC.Text.Length; ///添加郵件主題 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; ///添加郵件附件 HttpFileCollectionfileList=HttpContext.Current.Request.Files; for(inti=0;i<fileList.Count;i++) {///添加單個附件 HttpPostedFilefile=fileList[i]; if(file.FileName.Length<=0||file.ContentLength<=0) { break; } Attachmentattachment=newAttachment(file.FileName); mailMsg.Attachments.Add(attachment); nContain+=file.ContentLength; } if(mailMsg.IsBodyHtml==true) { nContain+=100; } try {///發(fā)送郵件 IMailmail=newMail(); mail.SenderMail(mailMsg); ///保存發(fā)送的郵件 intnMailID=mail.SaveAsMail(mailMsg.Subject,mailMsg.Body,from, To.Text.Trim(),CC.Text.Trim(),mailMsg.IsBodyHtml, nContain,mailMsg.Attachments.Count>0?true:false); if(nMailID>0) {///保存發(fā)送郵件的附件 for(inti=0;i<fileList.Count;i++) {///添加單個附件 HttpPostedFilefile=fileList[i]; 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); } } } 郵件用戶管理郵件用戶管理包括刪除,修改用戶資料,同時還可以對用戶權限進行設置,首先獲取數(shù)據(jù)庫中已有的用戶信息,再對其進行修改、刪除等操作,然后再將新的數(shù)據(jù)寫入數(shù)據(jù)庫。開始開始獲取用戶信息修改用戶信息結束刪除用戶改用戶信息設置用戶權限圖12郵件管理功能圖protectedvoidUserView_RowCommand(objectsender,GridViewCommandEventArgse){//獲取參數(shù)stringcommandName=e.CommandName;intnUserID=-1;if(Int32.TryParse(e.CommandArgument.ToString(),outnUserID)==false||commandName==""){return;}//創(chuàng)建User實例IUseruser=newUser();switch(commandName){case"delete":{//刪除選擇的用戶user.DeleteUser(nUserID);

溫馨提示

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

最新文檔

評論

0/150

提交評論