




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、期期 末末 項(xiàng)項(xiàng) 目目 設(shè)設(shè) 計(jì)計(jì)題 目 學(xué) 院 信息科學(xué)與技術(shù)學(xué)院 專 業(yè) 學(xué)生姓名 學(xué) 號(hào) 班級(jí) 2013- 指導(dǎo)教師 2014 年 5 月 16 日簡(jiǎn)易的郵件系統(tǒng)專 業(yè):* 學(xué) 號(hào):*學(xué) 生:* 指導(dǎo)教師:* 摘要: 本文主要闡述了基于.NET Framework4.0 的簡(jiǎn)易的郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),較為系統(tǒng)的介紹了電子郵件用戶的登錄、發(fā)送電子郵件,管理已發(fā)送的電子郵件、郵件目錄管理與維護(hù)等功能。郵件服務(wù)器按照提供的服務(wù)類型,可以分為發(fā)送郵件服務(wù)器和接收郵件服務(wù)器。發(fā)送郵件服務(wù)器使用郵件發(fā)送協(xié)議,現(xiàn)在常用的是 SNMP,本文主要介紹的是基于 SNMP 協(xié)議郵件發(fā)送方式;接收郵件服務(wù)器使用
2、接收郵件協(xié)議,常用的有 POP3 協(xié)議和 IMAP 協(xié)議,本篇不做主要主要介紹。本系統(tǒng)基于.NET Framework4.0 采用 B/S 設(shè)計(jì)架構(gòu),采用 IIS7.0 作為 WEB 服務(wù)器。系統(tǒng)開發(fā)采用 VS2010作為系統(tǒng)開發(fā)平臺(tái),同時(shí)本系統(tǒng)采用第三郵件服務(wù)器作為郵件服務(wù)器而實(shí)現(xiàn)郵件的發(fā)送,系統(tǒng)設(shè)計(jì)為郵件服務(wù)器可以用戶自定義模式,所以系統(tǒng)用戶可以獨(dú)立配置個(gè)性化的郵件服務(wù)器。關(guān)鍵詞:;郵件系統(tǒng);郵件發(fā)送;SMTP 協(xié)議應(yīng)用I目 錄緒 論.11 需求分析和概要設(shè)計(jì).21.1 整體要求 .21.2 系統(tǒng)設(shè)計(jì)架構(gòu) .21.3 模塊概述 .31.4 性能需求 .31.5 數(shù)據(jù)分析 .31.5.1 實(shí)
3、體-聯(lián)系圖 .41.5.2 IPO 圖.51.6 開發(fā)平臺(tái) .51.6.1 Visual Studio 2010 .61.6.2 SQL Server 2005 .61.6.3 IIS 7.0 .71.6.4 Pencil 界面原型圖繪制工具 .71.7 相關(guān)開發(fā)技術(shù) .71.7.1 LINQ 數(shù)據(jù)查詢.81.7.2 GridView 數(shù)據(jù)表.81.7.3 SQL Server 數(shù)據(jù)庫(kù)存儲(chǔ)過程.101.8 運(yùn)行環(huán)境 .102 數(shù)據(jù)庫(kù)設(shè)計(jì).112.1 數(shù)據(jù)庫(kù)設(shè)計(jì)原則 .112.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì) .112.3 用戶信息表 .122.4 郵件信息列表 .122.5 郵件類別 .122.6 系統(tǒng)配置
4、 .122.7 各表之間關(guān)系 .133 詳細(xì)設(shè)計(jì).143.1 界面設(shè)計(jì) .143.1.1 登錄界面、注冊(cè)界面設(shè)計(jì) .143.1.2 登錄系統(tǒng)后顯示的主界面 .16II3.1.3 郵件編寫和發(fā)送頁(yè)面 .173.1.4 發(fā)件箱主界面 .183.1.5 草稿箱主界面 .193.1.6 郵件類別管理主界面 .203.1.7 系統(tǒng)配置主界面.203.2 功能模塊實(shí)現(xiàn) .213.3 數(shù)據(jù)庫(kù)存儲(chǔ)過程調(diào)類用實(shí)現(xiàn) .213.4 登錄注冊(cè)模塊實(shí)現(xiàn) .223.4.1 用戶登錄 .223.4.2 用戶注冊(cè) .233.5 郵件管理模塊實(shí)現(xiàn) .243.6 郵件發(fā)送功能模塊實(shí)現(xiàn) .263.7 郵件類別管理模塊 .263.8
5、 配置功能模塊實(shí)現(xiàn) .274 系統(tǒng)重難點(diǎn).294.1 郵件發(fā)送 .294.2 數(shù)據(jù)庫(kù)多表查詢 .30總 結(jié).31參考文獻(xiàn).32致 謝.331緒 論在學(xué)習(xí)一期的 開發(fā)后,課程需要提供期末項(xiàng)目。介于此本項(xiàng)目開發(fā)了簡(jiǎn)易的郵件系統(tǒng)用于完成期末項(xiàng)目。在本項(xiàng)目開發(fā)過程中,主要經(jīng)歷項(xiàng)目的文檔編寫、數(shù)據(jù)庫(kù)設(shè)計(jì)、用戶界面設(shè)計(jì)、代碼編寫、系統(tǒng)測(cè)試這些步驟具體分工為譚定林負(fù)責(zé)用戶界面設(shè)計(jì)、部分代碼編寫、部分文檔編寫;譚銀興負(fù)責(zé)部分文檔編寫、數(shù)據(jù)庫(kù)設(shè)計(jì)、部分代碼編寫、系統(tǒng)測(cè)試。21 需求分析和概要設(shè)計(jì)1.1 整體要求本系統(tǒng)用于實(shí)現(xiàn)郵件系統(tǒng)部分簡(jiǎn)單功能的小型項(xiàng)目,其目標(biāo)是實(shí)現(xiàn)簡(jiǎn)單郵件的發(fā)送和管理這些發(fā)送郵件。為了能夠在
6、較短的時(shí)間內(nèi)快速開發(fā)系統(tǒng),因此本系統(tǒng)不必采用復(fù)雜的邏輯和界面以免花費(fèi)大量的時(shí)間。同時(shí)構(gòu)建本系統(tǒng)重點(diǎn)在于通過本系統(tǒng)的構(gòu)建實(shí)現(xiàn)對(duì) ASP.NET 技術(shù)的學(xué)習(xí)和掌握,為以后的工作做鋪墊。根據(jù)上述可知系統(tǒng)需要實(shí)現(xiàn)郵件的發(fā)送功能,同時(shí)為了保證系統(tǒng)的安全性,用戶需要登錄才能進(jìn)行所有操作。用戶可以通過注冊(cè)模塊進(jìn)行用戶注冊(cè),用戶注冊(cè)后才能通過登錄模塊登錄本系統(tǒng),同時(shí)進(jìn)行相關(guān)操作。用戶登錄后,可以發(fā)送郵件、接收郵件、管理已發(fā)送的郵件和草稿郵件。1.2 系統(tǒng)設(shè)計(jì)架構(gòu)系統(tǒng)由六個(gè)部分構(gòu)成,它們分別是寫信(及郵件發(fā)送)模塊、登錄注冊(cè)模塊、郵件管理模塊、郵件接收模塊、郵件分類管理模塊和系統(tǒng)配置模塊。其架構(gòu)圖如圖 1-1下
7、所示。簡(jiǎn)易的郵件的系統(tǒng)寫信郵件管理草稿箱郵件分類管理系統(tǒng)配置新建郵件編輯已有郵件配置郵件系統(tǒng)發(fā)件箱郵件分類郵件刪除添加分類刪除分類登錄注冊(cè)郵件接收?qǐng)D 0-1 簡(jiǎn)易郵件系統(tǒng)架構(gòu)31.3 模塊概述寫信模塊。用戶在寫信模塊可以實(shí)現(xiàn)編寫郵件,并發(fā)送郵件。同時(shí)可以對(duì)草稿和歷史郵件進(jìn)行編輯。登錄注冊(cè)模塊。該模塊用于提供給用戶注冊(cè)和登錄和管理賬戶信息。系統(tǒng)所有的功能必須是用戶登錄后才能進(jìn)行操作。郵件管理模塊。用戶在這部分對(duì)個(gè)人郵件進(jìn)行管理。對(duì)郵件進(jìn)行分類,刪除郵件,以及重新編輯郵件。郵件接收模塊。該模塊通過 POP3 協(xié)議從第三方郵件服務(wù)器上接收郵件。郵件分類管理模塊。用戶在本模塊可以方便的進(jìn)行新建建郵件分
8、類和刪除郵件分類的操作。系統(tǒng)配置模塊。用戶在系統(tǒng)配置模塊可以配置自己的郵件賬號(hào)和密碼,同時(shí)可以配置個(gè)性化的 SMTP 服務(wù)器,用戶可以根據(jù)個(gè)人需求配置采用不同的郵件系統(tǒng)發(fā)送郵件。1.4 性能需求本系統(tǒng)必須實(shí)現(xiàn)把郵件發(fā)送外網(wǎng)郵箱。郵件系統(tǒng)必須對(duì)已發(fā)送的郵件進(jìn)行保存。郵件系統(tǒng)采用的郵件服務(wù)器時(shí)可以配置。郵件系統(tǒng)具有一定的可擴(kuò)展性(比如可以接受第三方郵件) 。1.5 數(shù)據(jù)分析本系統(tǒng)主要涉及到注冊(cè)用戶和系統(tǒng)管理員,管理員可以對(duì)用戶進(jìn)行刪除操作,同時(shí)具有和普通用戶相同的權(quán)限。普通用戶可以配置自己獨(dú)立的郵件服務(wù)器,可以通過配置的服務(wù)器發(fā)送自己郵件和保存郵件。由此得出數(shù)據(jù)庫(kù)需要記錄用戶信息、服務(wù)器配置、郵件
9、記錄這些部分的數(shù)據(jù)。本小節(jié)將從關(guān)系實(shí)體圖和 IPO 圖這兩部分對(duì)其進(jìn)行介紹。(省略若干內(nèi)容)41.7.3 SQL Server 數(shù)據(jù)庫(kù)存儲(chǔ)過程存儲(chǔ)過程 Procedure 是一組為了完成特定功能的 SQL 語(yǔ)句集合,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中,用戶通過指定存儲(chǔ)過程的名稱并給出參數(shù)來執(zhí)行。存儲(chǔ)過程中可以包含邏輯控制語(yǔ)句和數(shù)據(jù)操縱語(yǔ)句,它可以接受參數(shù)、輸出參數(shù)、返回單個(gè)或多個(gè)結(jié)果集以及返回值。由于存儲(chǔ)過程在創(chuàng)建時(shí)即在數(shù)據(jù)庫(kù)服務(wù)器上進(jìn)行了編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中,所以存儲(chǔ)過程運(yùn)行要比單個(gè)的 SQL 語(yǔ)句塊要快。同時(shí)由于在調(diào)用時(shí)只需用提供存儲(chǔ)過程名和必要的參數(shù)信息,所以在一定程度上也可以減少網(wǎng)絡(luò)流量、簡(jiǎn)單網(wǎng)絡(luò)
10、負(fù)擔(dān)。1.8 運(yùn)行環(huán)境硬件推薦配置:CPU,2*2GHZ;內(nèi)存,2*2G;硬盤,250G。軟件配置:操作系統(tǒng),Windows Server 2003;數(shù)據(jù)庫(kù),SQL Server 2005;應(yīng)用服務(wù)器,IIS7.0。52 數(shù)據(jù)庫(kù)設(shè)計(jì)(沒有數(shù)據(jù)庫(kù)操作,本章可省略)2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)原則(1)命名要簡(jiǎn)潔規(guī)范:不同的數(shù)據(jù)庫(kù)對(duì)對(duì)象的命名有不同的要求,因此,數(shù)據(jù)庫(kù)中的各種對(duì)象的命名、后臺(tái)程序的代碼編寫應(yīng)采用大小寫敏感的形式,各種對(duì)象命名長(zhǎng)度不要超過 30 個(gè)字符,這樣便于應(yīng)用系統(tǒng)適應(yīng)不同的數(shù)據(jù)庫(kù)。(2) 數(shù)據(jù)的一致性和完整性:為了保證數(shù)據(jù)庫(kù)的一致性和完整性,往往會(huì)設(shè)計(jì)過多的表間關(guān)聯(lián),盡可能的降低數(shù)據(jù)的冗
11、余。建立后,對(duì)父表(Parent Table)和子表(Child Table)的插入、更新、刪除操作均要占用系統(tǒng)的開銷,如果數(shù)據(jù)冗余低,數(shù)據(jù)的完整性容易得到保證,但增加了表間連接查詢的操作,為了提高系統(tǒng)的響應(yīng)時(shí)間,合理的數(shù)據(jù)冗余也是必要的。使用規(guī)則(Rule)和約束(Check)來防止系統(tǒng)操作人員誤輸入造成數(shù)據(jù)的錯(cuò)誤是設(shè)計(jì)人員的另一種常用手段,但是,不必要的規(guī)則和約束也會(huì)占用系統(tǒng)的不必要開銷,需要注意的是,約束對(duì)數(shù)據(jù)的有效性驗(yàn)證要比規(guī)則快。(3) 數(shù)據(jù)庫(kù)性能調(diào)整:在計(jì)算機(jī)硬件配置和網(wǎng)絡(luò)設(shè)計(jì)確定的情況下,影響到應(yīng)用系統(tǒng)性能的因素不外乎為數(shù)據(jù)庫(kù)性能和客戶端程序設(shè)計(jì)。首先進(jìn)行邏輯設(shè)計(jì),而后進(jìn)行物理設(shè)
12、計(jì)。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)去除了所有冗余數(shù)據(jù),提高了數(shù)據(jù)吞吐速度,保證了數(shù)據(jù)的完整性,清楚地表達(dá)數(shù)據(jù)元素之間的關(guān)系。而對(duì)于多表之間的關(guān)聯(lián)查詢時(shí),其性能將會(huì)降低,同時(shí)也提高了客 戶端程序的編程難度,因此,物理設(shè)計(jì)需折衷考慮,根據(jù)業(yè)務(wù)規(guī)則,確定對(duì)關(guān)聯(lián)表的數(shù)據(jù)量大小、數(shù)據(jù)項(xiàng)的訪問頻度,對(duì)此類數(shù)據(jù)表頻繁的關(guān)聯(lián)查詢應(yīng)適當(dāng)提高數(shù)據(jù)冗余設(shè)計(jì)。2.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì)為了能把用戶的數(shù)據(jù)要求清楚、準(zhǔn)確的描述出來,系統(tǒng)分析員通常建立一個(gè)概念性的數(shù)據(jù)模型,概念模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)建立的模型。它描述了從用戶角度看到的數(shù)據(jù),模擬了用戶的現(xiàn)實(shí)環(huán)境,而且與軟件系統(tǒng)中的實(shí)現(xiàn)方法無關(guān),這一概念模型就是實(shí)體
13、-關(guān)系圖。實(shí)體-關(guān)系圖包含三種相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象、數(shù)據(jù)對(duì)象的屬性以及數(shù)據(jù)對(duì)象彼此間相互聯(lián)系的關(guān)系。根據(jù)上述對(duì)簡(jiǎn)易的郵件系統(tǒng)功能設(shè)計(jì)分析,創(chuàng)建本系統(tǒng)總體 E-R 關(guān)系圖如圖 0-1所示。下面將闡述每個(gè)表的詳細(xì)信息。62.3 用戶信息表表格 1 用戶信息表列名數(shù)據(jù)類型約束條件說明userIdInt主鍵用戶 IDuserNameVarchar(50)非空用戶名userPwdVarchar(10)非空用戶密碼mailaddrVarchar(50)非空郵件地址mailPswVarchar(10)非空郵箱密碼用戶信息表用于保存注冊(cè)用戶的詳細(xì)信息,系統(tǒng)的所有的數(shù)據(jù)交流都很本表相關(guān)聯(lián),是系統(tǒng)非常的表。2
14、.4 郵件信息列表表格 2 郵件信息列表列名數(shù)據(jù)類型約束條件說明mailIdint主鍵郵件 IDuserIdint非空用戶 IDtypeIdint非空類型 IDmailToVarchar(200)允許空目的地址mailHeadvarchar(200)允許空郵件主題mailContenttest允許空郵件內(nèi)容isSendVarchar(1)非空郵件標(biāo)識(shí)createTimedatetime非空創(chuàng)建時(shí)間郵件系統(tǒng)信息列表保存本系統(tǒng)所有的郵件信息,每一條郵件信息都和郵件所有者相關(guān)聯(lián),故本表很用戶信息表是相互關(guān)聯(lián)的,同時(shí)本表的郵件類別有何郵件類別相關(guān)聯(lián)。2.5 郵件類別表格 3 郵件類別列名數(shù)據(jù)類型約束條
15、件說明typeIdint主鍵類型 IDuserIdint非空用戶 IDmailTypevarchar(100)非空郵件類型郵件類別列表保存了用戶自定義的郵件類別,每一條記錄都和用戶信息唯一對(duì)應(yīng)。2.6 系統(tǒng)配置表格 4 系統(tǒng)配置列名數(shù)據(jù)類型約束條件說明userIdint主鍵用戶 IDdomainvarchar(80)非空服務(wù)器域名ipchar(15)允許空服務(wù)器 IP7portint允許空服務(wù)器端口系統(tǒng)配置表保存用戶獨(dú)自的郵件服務(wù)器配置,每一個(gè)用戶都可以配置不同于他人的支持 SNMP 郵件服務(wù)器。2.7 各表之間關(guān)系通過構(gòu)建生成的數(shù)據(jù)庫(kù)關(guān)系圖如下圖 2-1 所示。圖 0-1 關(guān)系圖83 詳細(xì)設(shè)
16、計(jì)根據(jù)系統(tǒng)需求分析、概要設(shè)計(jì)部分,可以得知本系統(tǒng)并不復(fù)雜,只需要實(shí)現(xiàn)比較簡(jiǎn)單的功能。因此在詳細(xì)設(shè)計(jì)部分簡(jiǎn)化成主要分析界面設(shè)計(jì)和功能模塊設(shè)計(jì)。3.1 界面設(shè)計(jì)為了能夠快速開發(fā)項(xiàng)目,本系統(tǒng)采用 Visual Studio 2010 網(wǎng)站項(xiàng)目默認(rèn)的風(fēng)格作為本系統(tǒng)默認(rèn)的風(fēng)格。系統(tǒng)界面設(shè)計(jì)采用簡(jiǎn)易的界面設(shè)計(jì)工具 Pencil 實(shí)現(xiàn)界面設(shè)計(jì)。系統(tǒng)登錄和注冊(cè)界面設(shè)計(jì)秉承簡(jiǎn)易的設(shè)計(jì)風(fēng)格界面設(shè)計(jì)采用默認(rèn)風(fēng)格,設(shè)計(jì)截圖如下圖 3-1。3.1.1 登錄界面、注冊(cè)界面設(shè)計(jì)圖 0-1 登錄界面設(shè)計(jì)9圖 0-2 用戶注冊(cè)界面當(dāng)用戶登錄成功就跳轉(zhuǎn)的主要界面,設(shè)計(jì)圖如 Error! Reference source not
17、found.,在這里用戶可以比較清晰看到自己的各種郵件的數(shù)量。用戶注冊(cè)界面和用戶登錄界面都會(huì)對(duì)用戶信息表進(jìn)行操作。在實(shí)現(xiàn)過程中需要能夠訪問數(shù)據(jù)庫(kù)中的用戶信息表并進(jìn)行相應(yīng)的數(shù)據(jù)操作。用戶登錄界面在用戶信息確認(rèn)后還需要把用戶信息寫入 SESSION 以滿足對(duì)用戶權(quán)限的管理。用戶注冊(cè)界面在用戶注冊(cè)成功應(yīng)該直接跳轉(zhuǎn)到用戶界面,并提示用戶相關(guān)的一些操作(比如配置用戶郵件服務(wù)器信息等) 。(省略若干內(nèi)容)系統(tǒng)配置是本系統(tǒng)中的一個(gè)比較重要的環(huán)節(jié),所有的郵件發(fā)送采用的服務(wù)器、用戶信息均是在此處配置的。如果配置錯(cuò)誤,則用戶郵件不會(huì)發(fā)送成功。為了能夠正常的發(fā)送郵件,所以本頁(yè)面增加了測(cè)試配置的按鈕,以便能夠在配置后
18、確實(shí),該配置是否正確。在編寫代碼之前先行設(shè)計(jì)界面原型,可以有效避免開發(fā)過程中不斷的修改界面而造10成的時(shí)間浪費(fèi),從而高效的完成項(xiàng)目的建設(shè)。3.2 功能模塊實(shí)現(xiàn)本系統(tǒng)主要實(shí)現(xiàn)了兩個(gè)功能模塊郵件發(fā)送功能模塊和郵件管理功能模塊。郵件發(fā)送功能是用戶通過新建郵件并把郵件發(fā)送到其他的郵箱的過程,郵件管理功能是用戶對(duì)自己發(fā)送的郵件和草稿郵件進(jìn)行管理的過程。郵件發(fā)送功能模塊。該功能模塊是本系統(tǒng)的核心部分,它的是通過采用 SNMP 協(xié)議來實(shí)現(xiàn)郵件的發(fā)送。在發(fā)送郵件之前,先要建立郵件服務(wù)器和用戶賬號(hào)信息,為了能夠簡(jiǎn)潔、高效地實(shí)現(xiàn)本過程,在開發(fā)過程中采用 qq 郵箱服務(wù)器作為郵件服務(wù)器。在使用之前,先要開發(fā) qq
19、郵件箱賬號(hào),同時(shí)需要配置該郵箱的 SNMP 服務(wù)。郵件管理功能模塊。該模塊主要涉及到的是數(shù)據(jù)庫(kù)的操作,系統(tǒng)才用 LINQ 和存儲(chǔ)過程來解決數(shù)據(jù)交互問題。為了實(shí)現(xiàn)用戶權(quán)限控制,系統(tǒng)通過 Session 來保存用戶信息和權(quán)限控制。3.3 數(shù)據(jù)庫(kù)存儲(chǔ)過程調(diào)類用實(shí)現(xiàn)為了更有效更安全的對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,系統(tǒng)采用存儲(chǔ)過程的方式進(jìn)行數(shù)據(jù)庫(kù)訪問。系統(tǒng)位置專門構(gòu)建了 OperateDatabase 類,用于對(duì)存儲(chǔ)過程進(jìn)行調(diào)用,其結(jié)構(gòu)如圖 3-3。圖 3-4 展示存儲(chǔ)過程調(diào)用的相關(guān)函數(shù)。圖 0-3 OperateDatabase 類結(jié)構(gòu)11圖 0-4 OperateDatabase 存儲(chǔ)過程部分(注:代碼請(qǐng)拷貝文
20、件,不要像這個(gè)文檔一樣用截圖!)(省略若干內(nèi)容)3.8 配置功能模塊實(shí)現(xiàn)配置功能模塊是用于實(shí)現(xiàn)用戶的自定義郵件系統(tǒng)配置,只有用戶配置了正確的郵件信息,用戶才可能正常的發(fā)送郵件。因此在用戶配置前,需要先驗(yàn)證配置信息是否有效,見圖 3-5 36 行代碼,它是用于判斷用戶是否已經(jīng)測(cè)試了配置信息(用戶測(cè)試配置信息后,會(huì)把配置信息寫入 Session,如果沒有測(cè)試則 Session 中的對(duì)應(yīng)信息為空) ,然后通過 Email 類把所有的信息保存在數(shù)據(jù)庫(kù)中。12圖 0-5 用戶自定義郵件系統(tǒng)配置134 系統(tǒng)重難點(diǎn)本系統(tǒng)的核心難點(diǎn)在于如何發(fā)送郵件和數(shù)據(jù)庫(kù)的多表查詢,為了實(shí)現(xiàn)以上功能,做了大量充分的實(shí)驗(yàn),最終
21、得以正常完成項(xiàng)目。4.1 郵件發(fā)送通過資料查找,發(fā)現(xiàn)可以通過.netframework4.0 自帶的郵件發(fā)送功能進(jìn)行郵件發(fā)送。首先需要構(gòu)建一個(gè) MailMessage 的數(shù)據(jù)結(jié)構(gòu),里面包含郵件發(fā)送的一般信息。其次,構(gòu)建 SmtpClient,并配置好對(duì)應(yīng)的賬戶信息和服務(wù)器信息。通過 SmtpClient 就可以正常的發(fā)送郵件信息了。其核心代碼如下所示。ystem.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); /增加收件人的地址 msg.To.Add(823408742.qqcom); /發(fā)件人的地址 msg.From
22、 = new MailAddress(T_ , title, System.Text.Encoding.UTF8); msg.Subject = 測(cè)試自動(dòng)發(fā)郵件是否成功,成功了請(qǐng)回復(fù)我!;/郵件標(biāo)題 msg.SubjectEncoding = System.Text.Encoding.UTF8; /郵件標(biāo)題編碼 msg.Body = 測(cè)試剛開發(fā)的群發(fā)郵件系統(tǒng),收到請(qǐng)回復(fù)!; /郵件內(nèi)容 msg.BodyEncoding = System.Text.Encoding.UTF8; /郵件內(nèi)容編碼 msg.IsBodyHtml = true; /是否是 HTML 郵件 msg.Priority =
23、MailPriority.High;/郵件優(yōu)先級(jí) /用到發(fā)送郵件的 smtp 主機(jī) /發(fā)送的郵箱賬號(hào)密碼。這肯定得寫你自己的,我用的 163 送郵件 SmtpClient client = new SmtpClient(); /驗(yàn)證發(fā)送郵件人的身份 要正確的 client.Credentials = new System.Net.NetworkCredential(T_, *); client.Host = ; try client.Send(msg); catch (System.Net.Mail.SmtpException ex) Console.Write(ex); 通過以上代碼就可以完
24、成郵件的發(fā)送功能。在實(shí)現(xiàn)以上功能之前,需要對(duì)郵件系統(tǒng)有大致的了解,并能理解一些基本的術(shù)語(yǔ),不然是不能完成該部分功能的。144.2 數(shù)據(jù)庫(kù)多表查詢?cè)卩]件管理部分需要查詢數(shù)據(jù)庫(kù)的郵件信息,但是同時(shí)需要查詢用戶信息表、郵件信息表和郵件類別表。當(dāng)查詢某一用戶的郵件詳細(xì)信息時(shí),就會(huì)發(fā)現(xiàn)郵件列表中存放的郵件類別不是郵件類別名稱而是對(duì)應(yīng)與郵件列表的標(biāo)識(shí),如果郵件沒有分類,則采用一般方式就查不出該條數(shù)據(jù),這顯然是不正確的。為了能在客戶端正常顯示所有郵件信息,那么就應(yīng)該應(yīng)用到較為復(fù)雜的連接查詢進(jìn)行數(shù)據(jù)訪問。本系統(tǒng)在解決此問題時(shí)采用了如下代碼:asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= SelectCommand=SELECT a.mailTo, a.mailHead, a.createTime, a.mailId, b.mailType FROMmail_type AS b right outer joinmail_list AS a ON(a.typeId = b.typeId)WHERE (a.isSend = isSend) AND (a.userId = userId) 該代碼是構(gòu)建一個(gè)數(shù)據(jù)源,獲取用戶發(fā)送郵件信息列表。其中需要訪問到郵件的收件人、標(biāo)題、創(chuàng)建時(shí)間、郵件類別,采用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介定金合同范本
- 南京別墅房屋租賃合同范本
- 書面合同屬于合同范本
- 合伙建設(shè)駕校合同范本
- 醫(yī)院招聘合同范本
- 合伙買房合同范本
- 合資購(gòu)地皮合同范本
- 吊頂安裝合同范本版
- 口罩運(yùn)輸合同范例
- 南京勞動(dòng)和合同范本
- 藥房品種類別及數(shù)量清單
- 玻璃工藝學(xué)第4章 玻璃的性質(zhì)
- 四川省藥械集中采購(gòu)及醫(yī)藥價(jià)格監(jiān)測(cè)平臺(tái)操作指引
- 機(jī)關(guān)檔案管理工作培訓(xùn)PPT課件
- 大學(xué)生安全教育課件(ppt共41張)
- 初中物理人教版八年級(jí)下冊(cè) 第1節(jié)牛頓第一定律 課件
- 網(wǎng)站培訓(xùn)內(nèi)容trswcm65表單選件用戶手冊(cè)
- 監(jiān)理大綱(范本)
- 空調(diào)系統(tǒng)維保記錄表格模板
- 打印版-圓與二次函數(shù)綜合題精練(帶答案)
- 工程結(jié)算書標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論