基于struts2的電子郵箱系統(tǒng)畢業(yè)論文_第1頁
已閱讀1頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于Struts2的電子郵件設計與實現(xiàn)</p><p>  ----郵件收發(fā)、郵件管理</p><p>  Design and Implementation of the E-mail System on Struts2</p><p>  ---- Send and receive mail, email management</p&

2、gt;<p>  指 導 老 師 : XXX </p><p>  姓 名 : XX </p><p>  學 號 : XX </p><p>  學 院 : 軟件學院 </p><p>  專 業(yè) : 軟件工程 &

3、lt;/p><p>  完 成 時 間 : 2012年4 月 </p><p><b>  摘要</b></p><p>  隨著互聯(lián)網(wǎng)快速、廣泛的普及應用,電子郵件越來越受到人們的歡迎,其最大的特點是,人們可以在任何地方時間收、發(fā)信件,解決了時空的限制,大大提高了工作效率,為辦公自動化,商業(yè)活動提供了很大便利。各類企業(yè)、學校、甚至于個人之間的

4、業(yè)務交流越加依托于網(wǎng)絡通訊,電子郵件系統(tǒng)也越發(fā)成為企業(yè)、學校的主流級應用。電子郵件為人們提供快速,安全,完善,經濟的服務,相對于傳統(tǒng)的信件效率大大的提高。通過本系統(tǒng)用戶可以隨時進行收發(fā)郵件,還可以回復轉發(fā)并對郵件進行全文模糊搜索,以便用戶更迅速的查找所需郵件。</p><p>  本小組通過分析現(xiàn)有的電子郵件系統(tǒng),致力于打造一個輕量級的電子郵件系統(tǒng)。系統(tǒng)以Java EE作為開發(fā)平臺,運用MVC模式開發(fā)思想,采用S

5、truts2框架技術實現(xiàn)。系統(tǒng)具有收發(fā)郵件、郵件管理、通訊錄、搜索等功能,初步完成電子郵件系統(tǒng)的要求。</p><p>  本文以電子郵件系統(tǒng)為背景,詳細地闡述了基于UML的面向對象的系統(tǒng)分析與建模過程及詳細設計過程,對電子郵件系統(tǒng)收發(fā)郵件、郵件管理等功能也進行了較為詳細的闡述。</p><p>  關鍵詞: Struts;MVC;UML;郵件收發(fā);郵件管理</p><

6、p><b>  Abstract</b></p><p>  With the wide application of Internet, e-mail becomes more and more popular among people. People can send and receive e-mails anywhere at any time, increasing thei

7、r efficiency and making Office Automation and commercial activities more convenient. The communication between enterprises, schools, even people depends more on network communication. As a result, e-mail becomes the main

8、 application in enterprises and schools. Compared with traditional mail service, e-mail provides fast, safe and cheap</p><p>  Having analyzed the existing e-mail system and aiming at providing a lightweight

9、 system, we choose J2EE as the develop platform and use MVC pattern and Stucts2 framework to implement it. The system provides functions such as mail sending, mail receiving, mail management, address book and searching.

10、We have accomplished the basic task of the system. </p><p>  E-mail as the background, the article describe the object oriented system analysis based on UML, modeling process as well as detailed design in de

11、tail. Besides, the implementation of mail sending, mail receiving and mail management are described detailedly.Key words: Struts; MVC; UML; send and receive mails; e-mail management.</p><p><b>  目 錄&l

12、t;/b></p><p><b>  第1章 引言1</b></p><p>  1.1 電子郵件介紹1</p><p>  1.2 開發(fā)背景2</p><p>  1.3 開發(fā)環(huán)境2</p><p>  1.4 本人主要工作3</p><p>  1.5

13、 本文組織3</p><p>  第2章 系統(tǒng)相關技術概述4</p><p>  2.1 MVC模式4</p><p>  2.2 Struts2框架結構及工作原理5</p><p>  2.3 JSP技術6</p><p>  2.4 MySQL 數(shù)據(jù)庫7</p><p>  2.

14、5 SMTP協(xié)議8</p><p>  2.6 POP3協(xié)議簡介9</p><p>  第3章 系統(tǒng)需求分析10</p><p>  3.1 系統(tǒng)目標10</p><p>  3.2 系統(tǒng)的功能需求分析概述10</p><p>  3.2.1 收件箱10</p><p>  3.3

15、系統(tǒng)用例圖分析11</p><p>  3.3.1 收件箱用例分析11</p><p>  3.3.2收件箱包含的基本用例12</p><p>  3.3.3 寫信用例分析13</p><p>  3.3.4搜索郵件用例14</p><p>  第4章 系統(tǒng)設計16</p><p>

16、  4.1 系統(tǒng)的架構設計16</p><p>  4.2 系統(tǒng)數(shù)據(jù)庫設計16</p><p>  4.2.1 數(shù)據(jù)庫概念設計16</p><p>  4.2.2 系統(tǒng)E-R圖的設計19</p><p>  4.2.3 數(shù)據(jù)庫邏輯結構的設計19</p><p>  4.3 系統(tǒng)類圖的設計22</p&g

17、t;<p>  4.3.1 收件箱類圖的設計22</p><p>  4.3.2 發(fā)件箱類圖的設計23</p><p>  4.3.3 草稿箱類圖的設計23</p><p>  4.3.4 通訊錄類圖的設計24</p><p>  4.4 系統(tǒng)開發(fā)相關規(guī)范25</p><p>  4.4.1 開

18、發(fā)工具25</p><p>  4.4.2 編碼規(guī)范25</p><p>  第5章 系統(tǒng)實現(xiàn)27</p><p>  5.1 系統(tǒng)登錄和首頁27</p><p>  5.1.1 系統(tǒng)登錄27</p><p>  5.1.2 寫信28</p><p>  5.2 收件箱功能實現(xiàn)30

19、</p><p>  5.2.1 收取郵件30</p><p>  5.2.2 回復郵件31</p><p>  5.2.3 轉發(fā)郵件32</p><p>  5.3 搜索郵件實現(xiàn)32</p><p>  第6章 系統(tǒng)關鍵技術應用34</p><p>  6.1郵件的批量刪除功能的實現(xiàn)

20、34</p><p>  6.2 分頁功能的實現(xiàn)34</p><p><b>  第7章 總結36</b></p><p><b>  參考文獻37</b></p><p><b>  致 謝38</b></p><p><b>  

21、第1章 引言</b></p><p>  1.1 電子郵件介紹</p><p>  電子郵件【10】(簡稱E-mai1)又稱電子信箱、電子郵政,它是—種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡上使用最普遍的一項服務。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送,它是—個簡易、快速的方法。通過連接全世界的Internet,實現(xiàn)各類信號的傳送、接收、存貯等處理,將郵件送

22、到世界的各個角落。到目前為止,可以說電子郵件是Internet資源使用最多的一種服務,E-mai1不只局限于信件的傳遞,還可用來傳遞文件、聲音及圖形、圖像等不同類型的信息。</p><p>  電子郵件不是一種“終端到終端”的服務,是被稱為“存貯轉發(fā)式”服務。這正是電子信箱系統(tǒng)的核心,利用存貯轉發(fā)可進行非實時通信,屬異步通信方式。即信件發(fā)送者可隨時隨地發(fā)送郵件,不要求接收者同時在場,即使對方現(xiàn)在不在,仍可將郵件立

23、刻送到對方的信箱內,且存儲在對方的電子郵箱中。接收者可在他認為方便的時候讀取信件,不受時空限制。在這里,“發(fā)送”郵件意味著將郵件放到收件人的信箱中,而“接收”郵件則意味著從自己的信箱中讀取信件,信箱實際上是由文件管理系統(tǒng)支持的—個實體。因為電子郵件是通過郵件服務器(mai1 server)來傳遞檔的。通常mail server是執(zhí)行多任務操作系統(tǒng)UNIX的計算機,它提供24小時的電子郵件服務,用戶只要向 mail server管理人員申

24、請—個信箱賬號,就可使用這項快速的郵件服務。</p><p>  電子郵件的工作原理:</p><p>  1) 電子郵件系統(tǒng)是一種新型的信息系統(tǒng),是通信技術和計算機技術結合的產物。 </p><p>  電子郵件的傳輸是通過電子郵件簡單傳輸協(xié)議(Simple Mail Transfer Protocol,簡稱SMTP)這一系統(tǒng)軟件來完成的,它是Internet下的

25、一種電子郵件通信協(xié)議。 </p><p>  2) 電子郵件的基本原理,是在通信網(wǎng)上設立“電子信箱系統(tǒng)”,它實際上是一個計算機系統(tǒng)。系統(tǒng)的硬件是一個高性能、大容量的計算機。硬盤作為信箱的存儲介質,在硬盤上為用戶分一定的存儲空間作為用戶的“信箱”,每位用戶都有屬于自己的—個電子信箱。并確定—個用戶名和登錄密碼。存儲空間包含存放所收信件、編輯信件以及信件存盤三部分空間,用戶登錄系統(tǒng)就進入了自己的信箱,并進行發(fā)信、讀信

26、、編輯、轉發(fā)、存檔等各種操作。系統(tǒng)功能主要由軟件實現(xiàn)。</p><p>  3) 電子郵件的通信是在信箱之間進行的。用戶首先開啟自己的信箱,然后將需要發(fā)送的郵件發(fā)到對方的信箱中。郵件在信箱之間進行傳遞和交換,也可以與另—個郵件系統(tǒng)進行傳遞和交換。收方在登錄郵箱之后,就可以提取新郵件。</p><p><b>  1.2 開發(fā)背景</b></p><

27、p>  隨著Internet的迅速普及,Email已成為了人與人溝通的主要手段,越來越成為生活中不可缺少的一部分。中國互聯(lián)網(wǎng)絡信息中心(CCNIC)2002年7月發(fā)布的“中國互聯(lián)網(wǎng)絡發(fā)展狀況統(tǒng)計報告”顯示,截止到2002年6月30日,我國上網(wǎng)用戶人數(shù)達4580萬人,與去年同期相比增長了72.8%,對大多數(shù)用戶來說,電子郵箱是他們最經常用的網(wǎng)絡服務之一,中國網(wǎng)名人均擁有1.6個Email賬號。除了利用互聯(lián)網(wǎng)絡發(fā)送電子郵件外,隨著通訊

28、技術的快速發(fā)展,用手機發(fā)送電子郵件也正在迅速的變成現(xiàn)實,每天收發(fā)Email已經成為我們許多人生活中不可缺少的一部分。</p><p>  電子郵件除了在個人的生活中扮演著重要的角色外,在企業(yè)中也扮演著一個不可缺少的角色。在企業(yè)的發(fā)展過程中,人與人之間的交流,特別是同一個項目組之間的交流顯得越來越重要,而電子郵件在企業(yè)中的采用則能使企業(yè)員工通過電子郵件來聯(lián)系工作,可以節(jié)約大量的電話、傳真、郵寄等費用,可以大大的提高

29、工作效率。</p><p>  當前流行的各大郵件客戶端軟件的除了最主要的收發(fā)信件之外,功能越來越復雜,但是人們平常真正用到的功能很少,很多功能尤其對于那些計算機,知識相對缺乏的人來說,更加顯得太過于華麗而不太實用。有鑒于此,我們開發(fā)了這個各種功能相對簡單實用的郵件客戶端程序,簡化了很多不必要的功能。</p><p><b>  1.3 開發(fā)環(huán)境</b></p&

30、gt;<p>  AMD Athlon(TM),512M內存,80G硬盤</p><p>  Microsoft® Windows? XP Professional</p><p>  MyEclipse 6.0</p><p>  Apache Tomcat 5.5</p><p><b>  MySQL

31、5.5</b></p><p>  Apache James Mail Server 2.3.1</p><p>  1.4 本人主要工作</p><p>  本人在“IU電子郵箱系統(tǒng)”中主要完成網(wǎng)站的需求分析、建模、系統(tǒng)的主要功能及所有的動態(tài)顯示。分析解決關鍵技術問題,功能和性能的測試,以及畢業(yè)論文的撰寫,“IU電子郵箱系統(tǒng)”中本人完成的主要功能如下:

32、</p><p>  1.用戶注冊及登錄:客戶在注冊成功后成為系統(tǒng)的用戶,登錄后可以進行郵件的收發(fā)等操作;</p><p>  2.收取郵件:用戶登錄系統(tǒng)時系統(tǒng)自動提取該用戶的郵件,用戶點擊獲取的郵件可以查看郵件;</p><p>  3.搜索郵件:用戶登錄系統(tǒng)后通過選定條件進行模糊查詢,系統(tǒng)默認是主體+正文的搜索條件;</p><p>  

33、4.郵件回復及轉發(fā):用戶登錄系統(tǒng)后進入單封郵件,點擊回復或轉發(fā)按鈕即可回復轉發(fā)郵件; </p><p>  5.寫信:用戶登錄系統(tǒng)后,點擊寫信按鈕即可寫信,用戶可以寫帶附件的郵件保存至草稿箱或發(fā)送出去。</p><p><b>  1.5 本文組織</b></p><p>  第1章 簡述了課題的開發(fā)背景和開發(fā)環(huán)境以及本人主要工作;</

34、p><p>  第2章 通過分析Java EE技術,確立系統(tǒng)開發(fā)平臺,并對系統(tǒng)實現(xiàn)過程中用到的相關技術進行簡單的介紹;</p><p>  第3章 使用用例分析技術對系統(tǒng)的需求進行了詳細的分析;</p><p>  第4章 詳細闡述了系統(tǒng)數(shù)據(jù)庫設計全過程;</p><p>  第5章 詳細介紹了本人完成的系統(tǒng)收件箱,發(fā)件箱,草稿箱各模塊功

35、能的實現(xiàn);</p><p>  第6章 詳細介紹了系統(tǒng)使用的分頁技術和批量刪除技術;</p><p>  第7章 全文的總結,說明了在撰寫論文過程中的心得和體會,并總結系統(tǒng)開發(fā)過程中的經驗以及教訓,展望未來的應用前景。</p><p>  第2章 系統(tǒng)相關技術概述</p><p>  在對系統(tǒng)開發(fā)本身的前景分析之后,接下來就是確定開發(fā)的目

36、標和功能需求,最后就是確定開發(fā)工具以及運用相關的技術來開發(fā)系統(tǒng)。系統(tǒng)開發(fā)時所采用的相關模式及開發(fā)技術有:MVC模式、Struts2、Jsp、MySQL、POP3和SMTP等。</p><p><b>  2.1 MVC模式</b></p><p>  MVC【6】架構是"Model(模型)View(試圖)Controller(控制)"三個單詞的首字

37、母縮寫。MVC模型是一中交互界面的結構組織模型,它能夠使軟件的計算模型獨立于界面的構成。MVC模型由Trygve Reenskaug提出,最早使用在SmallTalk-80環(huán)境中,并應用于用戶交互應用程序中。最smalltalk語言和java語言有很多相似的地方,比如都是面向對象語言。Microsoft的MFC基礎類也遵循了MVC的思想。MVC設計模式更深層次的影響了軟件開發(fā)人員的分工,也更加便于分工。</p><p

38、>  事件(Event)導致控制器(Controller)改變模型(Model)或試圖(View),或者同時改變兩者。只要Controller發(fā)生了改變Model的數(shù)據(jù)或屬性,所有依賴的視圖都會自動更新。類似的,只要Controller改變了View,View會從Model中獲取數(shù)據(jù)來刷新自己。</p><p>  MVC是一種架構,需要其他模式協(xié)作完成。Struts2只實現(xiàn)的是MVC中的View和Cont

39、roller兩個部分,Model部分需要開發(fā)者自己來實現(xiàn),Struts2提供了抽象類Action使開發(fā)者能將Model應用于Struts2框架中。</p><p>  MVC模型的原理如圖2.1所示:</p><p>  圖2.1 MVC模型原理圖</p><p>  MVC三個部分在Java EE架構中都有自己的位置。MVC與Java EE架構的對應關系是:Vie

40、w處于Web Tier或是Client Tier,通常是JSP/Servlet,即頁面顯示部分;Controller也處于Web Tier,通常用Struts2來實現(xiàn),即頁面顯示的邏輯部分實現(xiàn);Model處于Middle Tier,通常用服務端的spring或者EJB實現(xiàn),即業(yè)務邏輯部分的實現(xiàn)。</p><p>  2.2 Struts2框架結構及工作原理</p><p>  Struts

41、2【8】是Struts的下一代產品。是在struts和WebWork的技術基礎上進行了合并,全新的Struts2框架。其全新的Struts2的體系結構與Struts1的體系結構的差別巨大。Struts2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業(yè)務邏輯控制器能夠與Servlet API完全脫離開,所以Struts2可以理解為WebWork的更新產品。因為Struts2和Struts1有著太大的變化,但是相

42、對于WebWork,Struts2只有很小的變化。</p><p>  Apache Struts2是一個優(yōu)雅的,可擴展的Java EE web框架??蚣茉O計的目標貫穿整個開發(fā)周期,從開發(fā)到發(fā)布,包括維護的整個過程。</p><p>  Apache Struts2是大家所熟知的WebWork2,在經歷了幾年的各自發(fā)展后,WebWork和Struts社區(qū)決定合二為一而成的產品。</p

43、><p>  Struts2的工作流程如圖2.2所示:</p><p>  1.首先Struts2接收到一個httprequest時Interceptor對其進行一些攔截或者初始的工作。這時候如果有外部的httpservletrequest到來時,數(shù)據(jù)就會到servlet容器中,然后被傳遞給一個標準的過濾器鏈ActionContextCleanUp。</p><p> 

44、 2.然后Struts2開始調用Dispatecher會去查找相應的ActionMapper,如果找到了相應的ActionMapper Struts2將會將控制權限交給ActionProxy。接著ActionProxy通過ConfigurationManager來查找配置struts.xml文件。</p><p>  3.最后Struts2通過ActionInvocation來負責命令模式的實現(xiàn),action返回

45、Result。(返回的Result類型可以是 jsp或者freeMark 等)。</p><p>  圖2.2 Struts2響應用戶請求的工作流程</p><p><b>  2.3 JSP技術</b></p><p>  JSP【13】(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的

46、一種動態(tài)網(wǎng)頁技術標準。JSP技術有點類似ASP技術,它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。</p><p>  JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網(wǎng)頁的處

47、理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。 </p><p>  Web服務器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需

48、要的功能。JSP網(wǎng)站基本結構如圖2.3所示:</p><p>  圖2.3 Jsp 網(wǎng)站結構示意圖</p><p>  JSP與Java Servlet一樣,是在服務器端執(zhí)行的,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給

49、客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發(fā)需</p><p>  要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完</p><p>  全的面向對象,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。 </p><p>  自JSP推出后,眾多大公司都支持JSP技術的服務器,如

50、IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應用的服務器端語言。 </p><p>  JSP可用一種簡單易懂的等式表示為:HTML+Java=JSP。</p><p>  2.4 MySQL 數(shù)據(jù)庫</p><p>  MySQL【15】是一個小型關系數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL公司。在2008年1月16號被SUN公司收購,而2009年SU

51、N又被MySQL收購。目前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。</p><p>  與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經綽綽有余。由于其體積小、速度快、總體

52、擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p>  正是基于MySQL其自身是開放源碼軟件和成本低,經濟而受到相當多</p><p>  用戶的青睞,并且憑借其在存儲過程的優(yōu)越性能使得其實用性也遠超其他數(shù)據(jù)庫模式,占據(jù)很大優(yōu)勢。</p><p>  2.5 SMTP協(xié)議</p>

53、<p>  由于要開發(fā)的是郵件客戶端程序,就不得不用到SMTP協(xié)議和POP協(xié)議。而我個人負責的是郵件發(fā)送功能的實現(xiàn),因此就必然會涉及到SMTP(Simple Mail Transfer Protocol)協(xié)議。SMTP被用來在因特網(wǎng)上發(fā)送郵件,該協(xié)議規(guī)定了一些基本的命令和方法使客戶端與服務器進行交互,以達到發(fā)送郵件的目的。</p><p>  SMTP命令定義了郵件傳輸或由用戶定義的系統(tǒng)功能。它的命

54、令是由<CRLF>結束的字符串。而在帶有參數(shù)的情況下,命令本身由<SP>和參數(shù)分開,如果未帶參數(shù)可以直接和<CRLF>連接。郵箱的語法格式必須和接收站點的格式一致。下面討論SMTP命令和應答。</p><p>  發(fā)送郵件操作涉及到不同的數(shù)據(jù)對象,它們由不同的參數(shù)相互連接?;貜吐窂骄褪荕AIL命令的參數(shù),而轉發(fā)路徑則是RCPT命令的參數(shù),郵件日期是DATA命令的參數(shù)。這些參數(shù)或

55、者數(shù)據(jù)對象必須跟在命令后。這種模式也就要求有不同的緩沖區(qū)來存儲這些對象,也就是說,有一個回復路徑緩沖區(qū),一個轉發(fā)路徑緩沖區(qū),一個郵件內容緩沖區(qū)。特定的命令產生自己的緩沖區(qū),或使一個或多個緩沖的內容被清除。</p><p>  當郵件被傳遞發(fā)送時,傳遞主機必須將自己的名稱由轉發(fā)路徑的開始處移至回復路徑的結束處。當郵件最終到達目的地時,接收SMTP將以它的主機郵件格式自己的名稱插入目標郵件中。例如,由傳遞主機A接收的

56、帶有如下參數(shù)的郵件時,</p><p>  FROM:<USERX@HOSTY.ARPA></p><p>  TO:<@HOSTA.ARPA,@HOSTB.ARPA:USERC@HOSTD.ARPA></p><p><b>  將會變成如下形式:</b></p><p>  FROM:<

57、@HOSTA.ARPA:USERX@HOSTY.ARPA></p><p>  TO:<@HOSTB.ARPA:USERC@HOSTD.ARPA>.</p><p>  此命令導致它的轉發(fā)路徑參數(shù)加入轉發(fā)路徑緩沖區(qū)中。</p><p>  2.6 POP3協(xié)議簡介</p><p>  POP3,全名為“Post Office

58、 Protocol - Version 3”,即“郵局協(xié)議版本3”。是TCP/IP協(xié)議族中的一員,由RFC1939 定義。本協(xié)議主要用于支持使用客戶端遠程管理在服務器上的電子郵件。提供了SSL加密的POP3協(xié)議被稱為POP3S。</p><p>  POP3(Post Office Protocol 3)即郵局協(xié)議的第3個版本,它是規(guī)定個人計算機如何連接到互聯(lián)網(wǎng)上的郵件服務器進行收發(fā)郵件的協(xié)議。它是因特網(wǎng)電子郵件

59、的第一個離線協(xié)議標準,POP3協(xié)議允許用戶從服務器上把郵件存儲到本地主機(即自己的計算機)上,同時根據(jù)客戶端的操作刪除或保存在郵件服務器上的郵件,而POP3服務器則是遵循POP3協(xié)議的接收郵件服務器,用來接收電子郵件的。POP3協(xié)議是TCP/IP協(xié)議族中的一員,由RFC 1939 定義。本協(xié)議主要用于支持使用客戶端遠程管理在服務器上的電子郵件。</p><p>  POP3 協(xié)議支持“離線”郵件處理。其具體過程是

60、:郵件發(fā)送到服務器上,電子郵件客戶端調用郵件客戶機程序以連接服務器,并下載所有未閱讀的電子郵件。這種離線訪問模式是一種存儲轉發(fā)服務,將郵件從郵件服務器端送到個人終端機器上,一般是 PC機或 MAC。一旦郵件發(fā)送到 PC 機或 MAC上,郵件服務器上的郵件將會被刪除。但目前的POP3郵件服務器大都可以“只下載郵件,服務器端并不刪除”,也就是改進的POP3協(xié)議。</p><p>  第3章 系統(tǒng)需

61、求分析</p><p><b>  3.1 系統(tǒng)目標</b></p><p>  “IU電子郵箱系統(tǒng)”致力于開發(fā)集發(fā)郵件(簡單郵件和帶附件帶格式的郵件)、收郵件、回復轉發(fā)郵件、刪除移動郵件和管理聯(lián)系人等功能于一身的客戶端電子郵箱系統(tǒng)。系統(tǒng)開發(fā)的主要目標是實現(xiàn)電子郵箱系統(tǒng)管理的系統(tǒng)化、規(guī)范化和自動化,最終實現(xiàn)電子郵箱的高效化,其實現(xiàn)目標:</p><

62、p>  系統(tǒng)易操作:系統(tǒng)界面友好,操作簡單。</p><p>  2、需求功能完善:系統(tǒng)為用戶提供各種常用功能,這些功能相對簡單實用,簡化了很多不必要的功能。</p><p>  3、系統(tǒng)易維護:系統(tǒng)為每個郵箱用戶分配一定的存儲空間,也就是有自己獨立的“郵箱”,用戶自己管理自己的郵件。這種方式便于對系統(tǒng)的管理。</p><p>  3.2 系統(tǒng)的功能需求分析概

63、述</p><p>  通過對系統(tǒng)進行詳細的分析與研究,最終得出了IU電子郵箱系統(tǒng)的功能需求,系統(tǒng)主要由五個模塊構成,系統(tǒng)結構如下圖3.1所示:</p><p>  圖3.1 IU電子郵箱系統(tǒng)功能結構圖</p><p><b>  3.2.1 收件箱</b></p><p>  收件箱模塊,郵箱用戶登錄IU郵箱時系統(tǒng)自動

64、提取服務器中用戶收到的新郵件并顯示到首頁。收件箱模塊由五個子模塊構成,其結構如下圖3.2所示:</p><p>  圖3.2收件箱結構圖</p><p><b>  本人完成的功能有:</b></p><p><b>  1、收取郵件 </b></p><p>  1)當用戶登錄郵箱時,系統(tǒng)自動為用

65、戶提取新郵件。</p><p>  2)用戶點擊收件箱時,系統(tǒng)提取新郵件。</p><p><b>  2、回復郵件 </b></p><p>  系統(tǒng)用戶可以回復發(fā)件人,也可以同時回復所有收到郵件的用戶。</p><p><b>  3、轉發(fā)郵件</b></p><p> 

66、 系統(tǒng)用戶均可以轉發(fā)自己收到的郵件,轉發(fā)的過程類似于發(fā)送郵件。</p><p><b>  4、搜索郵件</b></p><p>  系統(tǒng)登錄用戶可以按照多種方式全文搜索郵件,如:按照主題搜索郵件,按照正文搜索郵件等,搜索郵件方便用戶快速找到所需要的郵件。</p><p><b>  4、查閱郵件</b></p>

67、;<p>  系統(tǒng)登錄用戶可以按照今天和更早兩種方式獲取郵件列表,點擊進入單封郵件查閱郵件內容。</p><p>  3.3 系統(tǒng)用例圖分析</p><p>  3.3.1 收件箱用例設計</p><p>  系統(tǒng)在收件箱可以查閱,回復、轉發(fā)、搜索、刪除、移動,標記自己收到的郵件。具體用例圖如圖3.5所示:</p><p>  

68、圖3.5 收件箱用例圖</p><p>  3.3.2收件箱包含的基本用例</p><p><b>  表3.1 閱讀郵件</b></p><p><b>  表3.2 回復郵件</b></p><p><b>  表3.3 轉發(fā)郵件</b></p><p&

69、gt;  表3.4 單封刪除郵件</p><p>  表3.5 多封刪除郵件</p><p>  3.3.3 寫信用例設計</p><p>  用戶進入郵箱之后點擊寫信按鈕寫信用例開始。具體用例圖如圖3.7所示:</p><p>  圖3.6 寫信用例圖</p><p><b>  表3.6 寫信</b

70、></p><p>  3.3.4搜索郵件用例</p><p>  當用戶鍵入關鍵字點擊站內搜索按鈕,用例開始,用例圖如圖3.7所示:</p><p>  圖3.7 搜索用例圖</p><p><b>  表3.7 搜索郵件</b></p><p><b>  第4章 系統(tǒng)設計&l

71、t;/b></p><p>  系統(tǒng)需求分析完成后,進入系統(tǒng)設計階段。整個系統(tǒng)開發(fā)過程中,系統(tǒng)分析設計是重中之重,還有系統(tǒng)完成前的測試。有了詳細和全面的系統(tǒng)設計,將會使后面的編碼階段更順利的進行并提高編碼速度。</p><p>  4.1 系統(tǒng)的架構設計</p><p>  整個系統(tǒng)架構采用MVC模式的思想,主要采用Struts2技術開發(fā),前端用JSP顯示。開

72、發(fā)工具為:Myeclipse 6.0+Tomcat 5.5+MySQL 5.5</p><p>  在線網(wǎng)站的設計采用了MVC三層模式進行設計的。系統(tǒng)運行后,用戶通過瀏覽器訪問系統(tǒng),看到的只能是視圖層,在視圖層上,用戶進行相應操作。視圖層由若干JSP頁面組成??刂破鞯暮诵氖荢truts.xml配置文件,它控制著頁面的跳轉,是系統(tǒng)的控制中心。用戶發(fā)出請求,通過xml進行控制跳轉,進入action類,通過Action

73、Servlet找到指定的Action,并通過調用ActionBean進行業(yè)務邏輯方法的處理,返回ActionForward,最后ActionServlet根據(jù)返回的信息將請求再次發(fā)給JSP頁面。IU電子郵箱系統(tǒng)框架結構圖見圖4.1:</p><p>  圖4.1 系統(tǒng)框架結構圖</p><p>  4.2 系統(tǒng)數(shù)據(jù)庫設計</p><p>  4.2.1 數(shù)據(jù)庫概念設

74、計</p><p>  數(shù)據(jù)庫設計是系統(tǒng)實現(xiàn)的最重要的一步,良好的數(shù)據(jù)模型將會使用戶的需求清楚、準確的描述出來。概念數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶最直觀的需求對數(shù)據(jù)建立的模型。經過對數(shù)據(jù)的各種分析,該系統(tǒng)涉及到的實體有:用戶信息實體、密保問題實體、收件箱實體、附件列表實體、發(fā)件箱實體、草稿箱實體、圖標實體、聯(lián)系人實體、通訊錄實體、用戶信息視圖。</p><p>  數(shù)據(jù)字典【

75、3】是關于數(shù)據(jù)的信息的集合,作為分析階段的工具有著重要的用途。數(shù)據(jù)字典是開發(fā)數(shù)據(jù)庫的第一步,因此本文將相關數(shù)據(jù)以表格的形式列舉出來如下所示:</p><p>  1.用戶信息數(shù)據(jù)字典</p><p>  表4.1 用戶信息數(shù)據(jù)字典</p><p>  2.密保問題數(shù)據(jù)字典</p><p>  表4.2 密保問題數(shù)據(jù)字典</p>

76、<p><b>  3.收件箱數(shù)據(jù)字典</b></p><p>  表4.3 收件箱數(shù)據(jù)字典</p><p>  4.附件列表數(shù)據(jù)字典</p><p>  表4.4 附件列表數(shù)據(jù)字典</p><p><b>  5.發(fā)件箱數(shù)據(jù)字典</b></p><p>  表4.

77、5 發(fā)件箱數(shù)據(jù)字典</p><p><b>  6.草稿箱數(shù)據(jù)字典</b></p><p>  表4.6 草稿箱數(shù)據(jù)字典</p><p>  7.圖標信息數(shù)據(jù)字典</p><p>  表4.7 圖標信息數(shù)據(jù)字典</p><p>  4.2.2 系統(tǒng)E-R圖的設計</p><p&

78、gt;  系統(tǒng)主要包括收件箱、發(fā)件箱、草稿箱和已刪除及通訊錄五個大模塊,每個模塊都涉及到不同的實體類,E-R圖的設計將會更直觀的顯示出系統(tǒng)各實體之間的聯(lián)系。</p><p>  系統(tǒng)涉及到的實體有收件箱、發(fā)件箱、草稿箱、通訊錄、聯(lián)系人、用戶。實體之間的聯(lián)系如圖4.2所示:</p><p>  圖4.2 IU電子郵箱系統(tǒng)E-R圖</p><p>  4.2.3 數(shù)據(jù)庫

79、邏輯結構的設計</p><p>  每個系統(tǒng)都有不同功能模塊,每個模塊都涉及到一定量的數(shù)據(jù)表,數(shù)據(jù)表之間又有著一定的聯(lián)系。E-R圖的設計就是直觀地表現(xiàn)出個實體類數(shù)據(jù)表之間的聯(lián)系和各種動作,系統(tǒng)的功能幾乎都要涉及到數(shù)據(jù)庫中的不同的表,而數(shù)據(jù)庫中的表的設計和表之間關系的設計,是數(shù)據(jù)庫設計的重點。根據(jù)對系統(tǒng)的數(shù)據(jù)分析和各模塊E-R圖的設計,我們按照系統(tǒng)涉及到的實體進行數(shù)據(jù)庫設計。</p><p>

80、;  IU電子郵箱系統(tǒng)數(shù)據(jù)庫名為“email”,本數(shù)據(jù)庫包括以下表:</p><p>  表4.8 密保問題表</p><p><b>  表4.9 收件箱表</b></p><p><b>  表4.10 圖標表</b></p><p>  表4.11 附件列表</p><p&

81、gt;<b>  表4.12 用戶表</b></p><p>  表4.13 發(fā)件箱表</p><p>  表4.14 草稿箱表</p><p>  4.3 系統(tǒng)類圖的設計</p><p>  類圖是顯示了模型的靜態(tài)結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關系等,顯示出類、接口以及它們之間的靜態(tài)結構和關

82、系,它用于描述系統(tǒng)的結構化設計。</p><p>  可以把類看作理論上的對象,類創(chuàng)建的所有對象都有相同的成員:屬性、方法和事件。但是,每個對象都像一個獨立的實體一樣動作。類圖的作用就是以圖表的形式表現(xiàn)出不同實體不同對象所做的動作。</p><p>  4.3.1 收件箱類圖的設計</p><p>  此模塊針對用戶進入收件箱后進行收取郵件,查看郵件,搜索郵件等操作

83、,類圖設計如圖4.3:</p><p>  圖4.3 收件箱類圖</p><p>  4.3.2 發(fā)件箱類圖的設計</p><p>  此模塊記錄了用戶所有發(fā)出去的郵件,方便用戶查閱發(fā)送記錄,發(fā)件箱類圖如圖4.4所示:</p><p>  圖4.4 發(fā)件箱類圖設計</p><p>  4.3.3 草稿箱類圖的設計<

84、;/p><p>  草稿箱主要是保存用戶在暫時不發(fā)送的郵件或者編輯尚未完成的郵件,方便用戶管理自己未發(fā)送的郵件。</p><p>  草稿箱功能實現(xiàn)的類圖設計如圖4.5所示: </p><p>  圖4.5 草稿箱類圖</p><p>  4.3.4 通訊錄類圖的設計</p><p>  通訊錄主要是給用戶提供一個管理自己

85、郵件聯(lián)系人的平臺,用戶可以添加刪除修改自己聯(lián)系人信息,并對其進行分組,通訊錄類圖類圖設計如圖4.6所示: </p><p>  圖4.6 通訊錄類圖</p><p>  4.4 系統(tǒng)開發(fā)相關規(guī)范</p><p>  4.4.1 開發(fā)工具</p><p>  1.Myeclipse6.0:是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclips

86、e插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開元產品的支持十分不錯。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。是系統(tǒng)開發(fā)主要編碼工具。</p><p>  2.Mysql 5.5:系統(tǒng)采用MySQL數(shù)據(jù)庫。</p><p> 

87、 3.Dreamweaver8:Dreamweaver是美國MACROMEDIA公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。系統(tǒng)靜態(tài)網(wǎng)頁的設計大多采用此軟件進行編輯和設計。</p><p>  4.Navicat 9 for MySQL:MySQL數(shù)據(jù)庫自身沒有圖形界面

88、,是通過命令的形式進行操作;此工具即MySQL的圖形界面,將會更直觀地了解數(shù)據(jù)庫的結構和表與表間的關系。</p><p>  4.4.2 編碼規(guī)范</p><p><b>  1.資源規(guī)范</b></p><p>  Struts2.1.8:系統(tǒng)采用Struts框架進行開發(fā),系統(tǒng)采用的Struts標準為Struts2.1.8。</p>

89、;<p>  Mysql-connector-java-3.1.12-bin.jar:系統(tǒng)數(shù)據(jù)庫采用MySQL,此jar包即是連接數(shù)據(jù)庫的驅動。 </p><p><b>  2.編碼規(guī)范</b></p><p>  編碼是軟件系統(tǒng)開發(fā)過程中最重要的部分之一,編碼就是系統(tǒng)實現(xiàn)。在系統(tǒng)實現(xiàn)過程中,不同的系統(tǒng)大小代碼量不同,需求也不同,在保證系統(tǒng)開發(fā)進度和質

90、量的前提下,就必須進行開發(fā)人員的分工。分工意味著不同組員負責不同模塊的實現(xiàn),在負責不同模塊的同時,保證項目進度和質量,必定需要一定的編碼規(guī)范來約束和規(guī)范系統(tǒng)的編碼。良好的編碼規(guī)范會使項目的進展更順利,并且能保證系統(tǒng)的質量和具有很好的后期維護性。</p><p>  本系統(tǒng)的開發(fā),代碼結構如下圖4.11所示:</p><p>  圖4.11 系統(tǒng)代碼結構</p><p&g

91、t;  mail.action,控制業(yè)務邏輯;</p><p>  mail.dao,負責操作數(shù)據(jù)庫;</p><p>  mail.domain,持久層類;</p><p>  mail.service,數(shù)據(jù)服務層;</p><p>  mail.toolsbean,一些工具類,比如MySQL連接數(shù)據(jù)庫的類,中文轉碼的類等等;</p&

92、gt;<p>  Struts.xml,struts配置文件,控制器的核心,系統(tǒng)流程的方向;</p><p><b>  第5章 系統(tǒng)實現(xiàn)</b></p><p>  5.1 系統(tǒng)登錄和首頁</p><p>  5.1.1 系統(tǒng)登錄</p><p>  系統(tǒng)以綠色為基調,實現(xiàn)“簡約而不簡單”的理念,所以登錄

93、功能在UI展現(xiàn)上左邊用鐘表來體現(xiàn)系統(tǒng)希望在功能上實現(xiàn)“快速,便捷,效率”。</p><p>  首頁的展示設計,在一定程度上決定著系統(tǒng)的成功與否,外觀是給用戶的第一感受。在“IU電子郵箱”系統(tǒng)界面設計過程中,經小組成員分析研究認為,作為郵箱系統(tǒng),主題風格應該是綠色的清新的,并且進入系統(tǒng)后應該一目了然地看到自己收到的新郵件。因此決定該系統(tǒng)采用綠色為主色調。</p><p>  用戶注冊IU電

94、子郵箱系統(tǒng)后,將會在系統(tǒng)數(shù)據(jù)庫用戶表(userInfo)中插入用戶數(shù)據(jù),并相應的在用戶表視圖(V_UserInfo)中增加一行記錄;當用戶登錄系統(tǒng)時候,頁面首先用javaScript對用戶名和密碼進行格式校驗,若格式正確用戶點擊登陸button,頁面將用戶名和密碼傳到后臺的LogonAction中的logon方法,從數(shù)據(jù)庫中查詢與頁面獲得的帳號密碼相匹配的結果,若成功則將登錄用戶信息存入session,并給logon方法返回LogonS

95、uccess信息,若失敗logon方法返回LogonError信息,struts根據(jù)action的返回result,跳轉入不同的頁面顯示不同的結果。具體配置為:</p><p>  <action name="login" class="mail.action.LogonAction" method="logon"></p>&

96、lt;p>  <result name="loginSuccess" type ="redirectAction">receive.action</result></p><p>  <result name="loginError">/email/error.jsp</result></act

97、ion></p><p>  當用戶登錄成功后,struts根據(jù)action的值跳轉入receive.action去郵箱服務器中查詢是否有該用戶的新郵件,若有新郵件取出來插入receiveBox表,然后顯示到首頁供用戶查閱,此時郵箱服務器中對應郵件將自動刪除。系統(tǒng)登錄界面如圖5.1所示,登錄成功后首頁UI如圖5.2所示。</p><p>  圖5.1 登陸頁面 </p>

98、<p>  圖5.2 登陸后首頁</p><p><b>  5.1.2 寫信</b></p><p>  寫信功能是IU郵箱系統(tǒng)最基本的功能,用戶可以寫一封帶附件郵件并發(fā)送或保存至草稿箱。</p><p>  用戶進入系統(tǒng),點擊寫信進入寫信頁面效果如圖5.3所示。用戶輸入收件人,主題,可選擇上傳附件,寫郵件正文。主題和郵件正文使用

99、頁面js不為空和字數(shù)限制校驗。當郵件編輯完成后,用戶可以點擊發(fā)送button來發(fā)送郵件。此時,頁面js選擇跳入名為send的action,并傳送數(shù)據(jù)給后臺SendBoxAction中的send()方法,此方法首先會創(chuàng)建一個Properties 對象:Properties props = System.getProperties();并為該對象添加smtp郵箱服務器屬性;接著創(chuàng)建郵件回話Session對象mailSession,主要是進行

100、一些郵箱權限的認證。接著創(chuàng)建一個Mail對象mail,將從頁面取得的數(shù)據(jù)賦給該對象,mail通過調用Mail對象的sendMail方法,sendMail方法首先根據(jù)fileName判斷該郵件是否有附件 ,即:</p><p>  if (filename != null && filename.length() != 0),發(fā)送帶附件的郵件分為兩部分,MultiPart和bodyPart,首先將郵

101、件內容加入MultiPart,接著由FileDataSource得到數(shù)據(jù)源,接著得到附件本身并加入bodyPart,具體實現(xiàn)如下:</p><p>  if(filename!= null&&!"".equals("filename")){</p><p>  //發(fā)送附件 將BodyPart加入到MUltiPart中</p&

102、gt;<p>  Multipart mp = new MimeMultipart();</p><p>  MimeBodyPart mbp = new MimeBodypart();</p><p><b>  //郵件內容</b></p><p>  mbp.setText(mailContent);</p>

103、<p>  mp.addBodyPart(mbp);</p><p><b>  //得到數(shù)據(jù)源</b></p><p>  FileDataSource fds = new FileDataSource(filename);</p><p>  //得到附件置入BodyPart</p><p>  mbp.

104、setDataHandler(new DataHandler(fds));</p><p>  若不帶附件,直接設置內容即可。無論是否帶附件都是通過Transport對象的send方法將郵件發(fā)送出去。當郵件發(fā)出的時刻,同時要向數(shù)據(jù)庫的sendBox表和Attachment表插入數(shù)據(jù),以記錄用戶發(fā)送方便用戶查閱。若發(fā)送失敗,則系統(tǒng)進入error.jsp,提示用戶郵件發(fā)送失敗,并提供發(fā)送郵件的鏈接;如果郵件發(fā)送成功,

105、系統(tǒng)顯示發(fā)送成功頁面。</p><p>  用戶點擊上傳文件,系統(tǒng)會檢查文件的格式和大小是否符合Struts2中的配置文件struts.xml中<param name="allowedTypes"></param name="allowedTypes">的規(guī)定類型和大小時,會返回一個字符error頁面通過接收的error字符跳入顯示上傳錯誤的信息頁面

106、。當所有數(shù)據(jù)正確時,上傳文件,并且顯示進度條,上傳成功頁面將會顯示用戶上傳的的資源列表。</p><p>  上傳文件時,頁面?zhèn)魅隺ction進struts.xml,相應的action類UploadResAction通過調用execute方法進行文件上傳,通過FileOutputStream fos = new FileOutputStream(getSavePath() + "\\"+ ge

107、tResFileName());建立一個以資源存儲路徑和文件名的輸出流,F(xiàn)ileInputStream fis = new FileInputStream(getRes());建立一個輸出流,繼而將上傳的文件存入系統(tǒng)設置的文件夾中。</p><p>  當用戶編輯好郵件,點擊存草稿button,此時js會跳入名為DraftBox_add的action,頁面?zhèn)魉蛿?shù)據(jù)給DraftBoxAction中的add方法,將郵

108、件信息保存入數(shù)據(jù)庫draftBox表。此時查閱草稿箱,將會有一封新草稿。</p><p><b>  圖5.3 寫信</b></p><p>  5.2 收件箱功能實現(xiàn)</p><p>  5.2.1 收取郵件</p><p>  用戶收取郵件有兩種方式:第一種是用戶登錄IU電子郵箱時,系統(tǒng)將會去郵箱服務器查詢有沒有當前

109、用戶的郵件,有的話就取出來并顯示給用戶;第二種是當用戶點擊收信的時候,頁面將會跳轉到名為receive的action,到ReceiveBoxAction中找到getMail()方法,首先創(chuàng)建Properties對象,Properties props = new Properties();根據(jù)對象創(chuàng)建創(chuàng)建郵件會話mailSession;接著獲取郵箱的pop3存儲對象store,store調用connect方法,與郵箱服務器取的聯(lián)系;然后就

110、可以從郵箱服務器的Inbox信箱里獲取郵件信息,把接收到郵件信息添加到本地數(shù)據(jù)庫,通過message[i].setFlag(Flags.Flag.DELETED, true)來刪除服務器端的郵件。用戶點擊收信后的顯示結果如圖5.4,由于系統(tǒng)返回來的結果類型是List,通過迭代器<s:iterator>來逐個顯示List列表中的元素,再通過<s:property>標簽來把元素中的具體內容顯示出來,即顯示單封郵件內容

111、。代碼如下:</p><p>  <s:iterator value="listInBox"> </p><p>  <input type="checkbox" id="checkBoxList"</p><p>  name="checkBoxList"value=

112、"<s:property value="ID" />" /></s:iterator></p><p>  圖5.4 點擊收信后頁面</p><p>  5.2.2 回復郵件</p><p>  當用戶點擊收件箱進入單封郵件可以回復郵件。用戶點擊回復button,效果如圖5.5;頁面將傳到后臺的R

113、eplyMailAction中的replyMail方法,首先創(chuàng)建Properties 對象,Properties props = new Properties();根據(jù)對象創(chuàng)建創(chuàng)建郵件會話mailSession;接著獲取郵箱的pop3存儲對象store,store調用connect方法,與郵箱服務器取的聯(lián)系;然后就可以定義郵件信息了,定義收件人,主題等等信息?;貜袜]件跟發(fā)送的郵件都是使用send方法發(fā)送,不同的就是收件人默認為發(fā)送給你郵

114、件的用戶。當回復成功會提示郵件發(fā)送成功,并提供返回該郵件的鏈接。</p><p><b>  圖5.5 回復效果</b></p><p>  5.2.3 轉發(fā)郵件</p><p>  當用戶點擊收件箱進入單封郵件可以轉發(fā)郵件。用戶點擊轉發(fā)button,效果如圖5.6。頁面將傳到后臺的FwdMailAction中的fwdMail()方法,首先創(chuàng)建

115、Properties 對象,根據(jù)對象創(chuàng)建創(chuàng)建郵件會話mailSession,接著獲取郵箱的pop3存儲對象store,store調用connect方法,與郵箱服務器取的聯(lián)系;接下來定義轉發(fā)郵件信息了,定義收件人,主題等等信息?;貜袜]件跟發(fā)送的郵件所不同的是,轉發(fā)是把一封信看成兩部分,一部分是message part,另一部分是multi-part。具體實現(xiàn)如下: BodyPart messageBodyPart = new MimeBo

溫馨提示

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

評論

0/150

提交評論