版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 第1章 概述1</b></p><p> 1.1研究目的和意義1</p><p> 1.2國內(nèi)外發(fā)展趨勢和現(xiàn)狀2</p><p> 1.3 系統(tǒng)特點(diǎn)4</p><p> 第2章 相
2、關(guān)技術(shù)和工具簡介6</p><p> 2.1 Swing簡介6</p><p> 2.2 Java Mail簡介6</p><p> 2.3 Java平臺(tái)簡介7</p><p> 2.4 Eclipse簡介7</p><p> 第3章 系統(tǒng)需求分析和總體設(shè)計(jì)9</p><p&g
3、t; 3.1用戶對(duì)電子郵件系統(tǒng)的需求9</p><p> 3.2產(chǎn)品可行性分析10</p><p> 3.3系統(tǒng)總體設(shè)計(jì)12</p><p> 3.3.1電子郵件系統(tǒng)的功能12</p><p> 3.3.2電子郵件收發(fā)過程13</p><p> 3.3.3服務(wù)器參數(shù)的設(shè)置14</p>
4、<p> 第4章 詳細(xì)設(shè)計(jì) …………………………………………………………………………………..15</p><p> 4.1 登錄功能的設(shè)計(jì)15</p><p> 4.2發(fā)送郵件的設(shè)計(jì)15</p><p> 4.3接收郵件的設(shè)計(jì)16</p><p> 4.4郵件管理的設(shè)計(jì)17</p><p
5、> 第5章 系統(tǒng)功能的編碼實(shí)現(xiàn)18</p><p> 5.1用戶登錄界面的實(shí)現(xiàn)18</p><p> 5.2主界面的實(shí)現(xiàn)19</p><p> 5.3 郵件配置界面的實(shí)現(xiàn)20</p><p> 5.4 發(fā)送郵件界面的實(shí)現(xiàn)21</p><p> 5.5 接收郵件界面的實(shí)現(xiàn)22</p&g
6、t;<p> 第6章 系統(tǒng)實(shí)現(xiàn)的功能測試24</p><p> 6.1 登錄測試24</p><p> 6.2發(fā)送測試24</p><p> 6.3接收郵件測試26</p><p> 6.4查看郵件測試26</p><p> 6.5刪除郵件測試27</p><p
7、><b> 第7章 總結(jié)29</b></p><p><b> 參考文獻(xiàn)30</b></p><p><b> 致 謝31</b></p><p> 附錄:部分源程序代碼32</p><p><b> 附件1:開題報(bào)告</b>&l
8、t;/p><p> 附件2: 譯文及原文影印件</p><p><b> 第1章 概述</b></p><p> 隨著信息時(shí)代的到來,Internet的廣泛應(yīng)用,相信大家對(duì)qq郵箱,163郵箱,yahoo郵箱已經(jīng)并不陌生,這一類郵箱的出現(xiàn)是計(jì)算機(jī)和網(wǎng)絡(luò)不斷發(fā)展的結(jié)果,與每個(gè)人都密不可分,已經(jīng)成為網(wǎng)絡(luò)中最廣泛使用的一部分。</p>
9、<p> 1.1研究目的和意義</p><p> 從人類發(fā)展開始,信息交換一直都是人類的基本需求之一。人們會(huì)通過各種途徑來實(shí)現(xiàn)信息的交換,從而達(dá)到一種交流。從以前的快馬送信和口耳相傳到如今的電話電腦和郵政系統(tǒng),隨著先進(jìn)技術(shù)的不斷進(jìn)步,人類信息交流的方式也一直在進(jìn)步,其中電子郵件服務(wù)就是計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)出現(xiàn)之后的一個(gè)例子。它較以前更加方便快捷,深受人們的喜愛。</p><p>
10、; 電子郵件又被稱為電子郵箱,是一種典型的通過先進(jìn)技術(shù)的電子手段提供信息交換的一種通信方式,同時(shí)也是Internet的所有應(yīng)用中最廣泛的服務(wù)。電子郵件不是只局限于信件的傳遞了,而是另外還包括文件,聲音及圖形圖像等信息的傳遞。這種非交互式的通信方式,加速了數(shù)據(jù)傳送從而更快的達(dá)到信息的交流,促進(jìn)了社會(huì)的發(fā)展。她是一種簡單且快速的方法,電子郵件系統(tǒng)通過連上全世界的網(wǎng)絡(luò),用戶就可以免費(fèi)地并且非常快的(幾秒鐘之內(nèi))可以將信息發(fā)送到世界上任何你指
11、定的目的地。同時(shí),用戶也可以從電子郵件系統(tǒng)中得到大量免費(fèi)的新聞、專題郵件,并實(shí)現(xiàn)輕松的信息搜索。這是任何傳統(tǒng)的方式也無法相比的。</p><p> 電子郵件最顯著地特點(diǎn)是“存貯轉(zhuǎn)發(fā)式”服務(wù),并不是一種“終端到終端"的服務(wù),利用這種存貯轉(zhuǎn)發(fā)可以進(jìn)行異步通信,即信件發(fā)送人可以在任何時(shí)間任何地點(diǎn)發(fā)送文件,這并不要求接收者必須同時(shí)在場,即使是對(duì)方不在,發(fā)送者的郵件還是可以立刻送到對(duì)方的信箱內(nèi),并進(jìn)行了存儲(chǔ),這
12、樣接收者可以在他方便時(shí)登錄郵箱來收取郵件,來查看郵件內(nèi)容,這不必受到時(shí)間空間的限制。這種存貯轉(zhuǎn)發(fā)服務(wù)也正是電子郵箱系統(tǒng)的核心。</p><p> 隨著上網(wǎng)用戶越來越多,上網(wǎng)速度越來越快,作為網(wǎng)絡(luò)基礎(chǔ)應(yīng)用的電子郵件系統(tǒng)所面臨的問題也日益突出,不管是使用免費(fèi)的郵箱yahoo.com.cn,還是163.com等,還是使用收費(fèi)的個(gè)人郵箱,ISP提供的虛擬機(jī)郵箱都存在著種種問題。介于當(dāng)下流行的各大郵件客戶端軟件的除了最主
13、要的收發(fā)信件之外,功能越來越復(fù)雜,但是我們的日常生活中真正用到的功能卻很少,同時(shí)作為中小型企業(yè),郵箱的成本也越來越高,很多功能尤其對(duì)于計(jì)算機(jī)知識(shí)相對(duì)缺乏的人來說,顯得太過華麗且不太實(shí)用。有鑒于此,在了解smtp和pop3等底層協(xié)議的基礎(chǔ)之上,開發(fā)了這個(gè)各種功能相對(duì)簡單實(shí)用的郵件系統(tǒng),簡化了用戶的操作。</p><p> 1.2國內(nèi)外發(fā)展趨勢和現(xiàn)狀</p><p> 電子郵件是互聯(lián)網(wǎng)最基
14、本且最重要的服務(wù)之一。據(jù)統(tǒng)計(jì),目前全世界的電子郵件賬號(hào)超過15億個(gè),電子郵件成為Internet上所占比例最大的應(yīng)用。中國互聯(lián)網(wǎng)絡(luò)信息中心關(guān)于中國互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告(2005年1月)表明,我國目前上網(wǎng)人數(shù)9400萬,人均擁有電子郵箱1.5個(gè)。還有另一項(xiàng)數(shù)據(jù)表明,互聯(lián)網(wǎng)上百分之三十的業(yè)務(wù)量都是電子郵件,由于我國通信設(shè)施較差,以及網(wǎng)絡(luò)速度慢等弊端,快捷的電子郵件服務(wù)更具實(shí)用性?!禖INNIC中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》中指出,中國用戶
15、最常使用的網(wǎng)絡(luò)服務(wù)71.65%是電子郵件,而搜索引擎和上傳或下載服務(wù)分別只占50.40%和44.16%。</p><p> 早期的電子郵件系統(tǒng)在網(wǎng)絡(luò)形成的時(shí)候就已經(jīng)出現(xiàn)了,1961年的時(shí)候,麻省理工學(xué)院在7094大型機(jī)系統(tǒng)上開發(fā)出了一套兼容時(shí)分共享系統(tǒng)(CTSS)。這也允許許多用戶使用主機(jī)的新能力,使用戶可以用新的方法來共享信息。當(dāng)CTSS系統(tǒng)的用戶需要向其他用戶傳遞信息時(shí),他們會(huì)在一個(gè)通用的目錄下以“TO T
16、OM”之類的文件名簡歷一個(gè)文件,查看或者打印其中的內(nèi)容,在這種簡單的信息發(fā)送方法的基礎(chǔ)上,出現(xiàn)了第一個(gè)“郵件”工具,通過這個(gè)工具,CTSS系統(tǒng)的管理員可以向用戶發(fā)送信息。例如某個(gè)用戶他丟失的文件已經(jīng)通過備份找回,這是通過在目錄用戶中創(chuàng)建特定的文件來實(shí)現(xiàn)的。</p><p> 這以后,CTSS系統(tǒng)上也出現(xiàn)了用于用戶之間信息傳遞的郵件工具。在其他的多用戶系統(tǒng)上,也陸續(xù)開發(fā)和使用了類似的郵件軟件。這些軟件的工作原理類
17、似,都是在用戶目錄下設(shè)置一個(gè)特殊的目錄,一個(gè)用戶給另一個(gè)用戶發(fā)信時(shí),就在收信者的牡蠣下建立一個(gè)新的文件,并在其中保存新建的內(nèi)容。 當(dāng)收信者稍后登陸的主機(jī)上時(shí),檢查該目錄就可以知道自己有新的郵件,并可以打開和查看郵件內(nèi)容,這些早期的郵件系統(tǒng)雖然非常簡陋,也存在很多問題,但是其基本思想都是通過文件的傳遞來實(shí)現(xiàn)用戶之間的異步傳輸,和今天所用的電子郵件系統(tǒng)基本相同?,F(xiàn)代電子郵件系統(tǒng)正式在這些原始的郵件軟件基礎(chǔ)上發(fā)展而來的。</p>
18、<p> 到了20世紀(jì)60年代末70年代初,在美國國防部領(lǐng)導(dǎo)下,現(xiàn)代INTERNET 的前身—ARPANET 開始建立和運(yùn)行,它將成員單位的多臺(tái)主機(jī)連接起來組成了一個(gè)網(wǎng)絡(luò)。當(dāng)時(shí),網(wǎng)絡(luò)內(nèi)的大部分主機(jī)上都已經(jīng)有了內(nèi)部的郵件系統(tǒng),于是一個(gè)很自然的想法出現(xiàn)了,就是能否利用ARPANET使這些郵件系統(tǒng)能夠相互通信。事實(shí)上,郵件系統(tǒng)的互聯(lián)正式ARPANETA最早期的網(wǎng)絡(luò)應(yīng)用嘗試之一。</p><p> 196
19、9年,在ARPANET原型網(wǎng)還在試驗(yàn)的時(shí)候,拉里羅伯特編寫了第一個(gè)通過網(wǎng)絡(luò)發(fā)送電子郵件的程序。</p><p> 1971年1月,ARPA RFC 196《郵箱協(xié)議(Mail Box Protocol)》中討論了如何通過ARPANET 發(fā)送郵件的問題。之后有多個(gè)類似的RFC文件進(jìn)行了這個(gè)方面的探討。</p><p> 由于當(dāng)時(shí)FTP協(xié)議已經(jīng)比較成熟,而郵件發(fā)送一直沒有成熟的協(xié)議,所以一
20、些人開始研究利用FTP協(xié)議來發(fā)送郵件的方法。1972年8月,在RCF385《關(guān)于FTP協(xié)議的注釋》中第一次提出通過擴(kuò)展FTP協(xié)議的方法來發(fā)送電子郵件。之后的一些RFC文件進(jìn)一步對(duì)該方案進(jìn)行了改進(jìn)。在1973年一次會(huì)議上,大家統(tǒng)一在FTP命令中使用“用戶名@主機(jī)名”形式的地址來標(biāo)明郵件地址,這被寫入了RFC469文件。RFC498則提出了不用FTP協(xié)議進(jìn)行郵件傳輸?shù)姆椒?。這些方案由于各種原因都未能得到推廣使用,ARPANET上的郵件系統(tǒng)一
21、直處于各自為政的狀態(tài)。</p><p> 除了郵件收發(fā)的問題外,郵件格式也是電子郵件協(xié)議中的一個(gè)重要內(nèi)容。1977年,洛克等人提出來一個(gè)統(tǒng)一的郵件格式標(biāo)準(zhǔn),也就是后來的RFC733.但是這次統(tǒng)一郵件格式標(biāo)準(zhǔn)的嘗試并未能獲得成功。這便是早起ARPNET上的電子郵件系統(tǒng)。</p><p> 早起的各種基于網(wǎng)絡(luò)的電子郵件傳輸協(xié)議都存在這樣那樣的問題。要么功能不完善,要么過于復(fù)雜。人們需要的是
22、一個(gè)全新的,易于實(shí)現(xiàn)而有功能強(qiáng)大的電子郵件傳輸協(xié)議。1980年,RFC772《郵件傳輸協(xié)議》發(fā)布了,其中描述了一個(gè)全新的郵件傳輸協(xié)議。但是這個(gè)協(xié)議還是過于復(fù)雜了,于是人們?cè)谒幕A(chǔ)上又進(jìn)行了改進(jìn),縱欲在1981年的RFC780中發(fā)布了簡單郵件傳輸協(xié)議,經(jīng)過一些曉得改進(jìn)后,最總形成了RFC821《SMTP協(xié)議》,這也正是今天的電子郵件系統(tǒng)的標(biāo)準(zhǔn)傳輸協(xié)議。</p><p> 統(tǒng)一的郵件傳輸協(xié)議自然需要統(tǒng)一的郵件格式
23、,1982年,克魯克在RFC733的基礎(chǔ)上編寫RFC822《APRAInternet文本信息格式標(biāo)準(zhǔn)》,他也最終成為電子郵件的標(biāo)準(zhǔn)格式。但是在RFC822格式中,郵件都是文本格式的,沒有考慮非文本的郵件內(nèi)容問題。很快人們就對(duì)電子郵件提出更多的要求,希望能用它來發(fā)送非文本格式的附件,如圖片,多媒體文件等。于是在1996年又發(fā)布了RFC2045—2049,規(guī)定了MIME編碼格式。通過這種格式,可以實(shí)現(xiàn)各種文件和文本信息之間的無損轉(zhuǎn)換,這樣就
24、可以將他們封裝在標(biāo)準(zhǔn)RFC822格式的文本郵件中直接發(fā)送,從而使電子郵件系統(tǒng)也可以發(fā)送非文本的信息了。</p><p> 后來,人們根據(jù)郵件系統(tǒng)中使用的問題,又陸續(xù)對(duì)SMTP協(xié)議以及其父樹協(xié)議進(jìn)行了一些小的修改,如增加用戶身份認(rèn)證功能等。到目前為止,SMTP協(xié)議的最新版本是RFC2821,郵件格式規(guī)范的最新版本是RFC2822。這便是現(xiàn)代電子郵件系統(tǒng)的出現(xiàn)。</p><p> 從以上分
25、析中可以得出這樣的結(jié)論,由于在電子郵件系統(tǒng)存在的種種缺陷,我們要學(xué)會(huì)重新設(shè)計(jì)出一種全新的,每個(gè)地方都考慮到并徹底解決各種安全問題和隱患的電子郵件系統(tǒng),用它來代替現(xiàn)有的電子郵件系統(tǒng)給人們提供更高一層的服務(wù)。但遺憾的是,由于各種現(xiàn)實(shí)的問題,(如環(huán)境,技術(shù),資金等)使其在可預(yù)見的未來,仍然是一個(gè)不可能實(shí)現(xiàn)的任務(wù),但是無論如何,一個(gè)已經(jīng)成功的或者試圖成功的電子郵件系統(tǒng),必須要能夠較好的解決這些問題[2]。</p><p>
26、;<b> 1.3 系統(tǒng)特點(diǎn)</b></p><p> 郵件服務(wù)器提供的服務(wù)類型,可以分為發(fā)送郵件服務(wù)器(簡稱發(fā)送服務(wù)器)和接收郵件服務(wù)器(簡稱接收郵件服務(wù)器)。發(fā)送郵件服務(wù)器使用郵件發(fā)送協(xié)議,現(xiàn)在常用的是SMTP,所以通常發(fā)送郵件服務(wù)器也稱為SMTP服務(wù)器;接收郵件服務(wù)器使用接收郵件協(xié)議,常用的是POP3協(xié)議,所以通常接收郵件服務(wù)器也稱為POP3服務(wù)器。</p><
27、p> SMTP(Simple Mail Transfer Protocol),即簡單的郵件傳送協(xié)議,是互聯(lián)網(wǎng)傳送電子郵件的基本協(xié)議,是TCP/IP協(xié)議組的成員,它可以解決郵件系統(tǒng)如何通過一條鏈路,把郵件從一臺(tái)機(jī)器上傳送到另一臺(tái)機(jī)器上的問題,它的特點(diǎn)是具有很好的可伸縮性和簡單性,因此它在廣域網(wǎng)和局域網(wǎng)都能適用,并且在Internet上能夠發(fā)送郵件的服務(wù)器幾乎都支持SMTP協(xié)議,這也正是它成功的關(guān)鍵。服務(wù)器接收客戶端發(fā)過來的SMTP
28、協(xié)議格式的命令,這些命令有HELO ,MAIL FROM,RCPT TO,DATA,QUIT,服務(wù)器接到這些命令后,給出對(duì)應(yīng)的響應(yīng)碼,然后發(fā)給客戶端。</p><p> POP3(Post Office Protocol 3)是郵局協(xié)議的第3個(gè)版本,它規(guī)定郵件客戶端怎么從服務(wù)器那里接收郵件,是第一個(gè)電子郵件的離線協(xié)議標(biāo)準(zhǔn)。它既允許接收服務(wù)器向郵件用戶發(fā)送郵件,也可以接收來自SMTP服務(wù)器的郵件,郵件客戶端軟件會(huì)
29、與POP3服務(wù)器之間進(jìn)行交互,下載由POP3服務(wù)器接收到的郵件,POP3協(xié)議支持用戶從服務(wù)器上接收郵件然后存儲(chǔ)到自己的計(jì)算機(jī)上,同時(shí)根據(jù)客戶端的操作刪除或保存在郵件服務(wù)器上的郵件,服務(wù)器接收客戶端發(fā)過來的POP3協(xié)議格式的命令,這些命令有USER,PASS,LIST,RETR,DELE,REST,QUIT,服務(wù)器接到這些命令后,給出對(duì)應(yīng)的響應(yīng)信息+OK或者-ERR,然后連同郵件信息發(fā)給客戶端?;赑OP3協(xié)議的郵件系統(tǒng)能提供快捷,實(shí)惠的
30、服務(wù),因此深受廣大用戶的青睞。POP3協(xié)議也是TCP/IP協(xié)議族中的一員,由RFC 1939 定義。</p><p> 第2章 相關(guān)技術(shù)和工具簡介</p><p> 2.1 .Swing簡介</p><p> Swing是一個(gè)專門用于開發(fā)Java用戶界面程序的工具包。它是在抽象窗口工具包(AWT)的基礎(chǔ)上讓跨平臺(tái)JAVA程序能夠使用所有可插拔的界面風(fēng)格,Swi
31、ng程序員只需要用簡單的代碼就能夠利用Swing模塊化的,豐富的功能和靈活的組件來編出漂亮的系統(tǒng)界面。工具包中的包都以swing來命名的,例如javax.swing.event。</p><p> Swing開發(fā)包全部是用Java來實(shí)現(xiàn)的,Swing本身不依賴于操作系統(tǒng),也沒有除JAVA之外的其它代碼,是一個(gè)輕量級(jí)的組件,這就是他和AWT的卻別。因?yàn)锳WT是通過與具體操作系統(tǒng)相關(guān)的對(duì)等類來實(shí)現(xiàn)的,所以Swing
32、要比AWT具有更加強(qiáng)的實(shí)用性。Swing在所有平臺(tái)上的表現(xiàn)都是一致的,并且能表現(xiàn)出除當(dāng)前系統(tǒng)之外的其它界面風(fēng)格。Swing效仿了MVC的設(shè)計(jì)模式,即"模型-視圖-控制",其中模型是專門用來存放內(nèi)容的,視圖是專門用來查看內(nèi)容的,控制器是用來負(fù)責(zé)用戶輸入的。在AWT中,由于控制界面外觀的對(duì)等類和具體的平臺(tái)息息相關(guān),因而AWT組件的外觀只和本機(jī)的外觀相關(guān),但是Swing能使程序在一個(gè)操作系統(tǒng)上運(yùn)行的時(shí)候有不同的外觀以供用戶
33、可以選擇自己習(xí)慣的外觀。</p><p> 2.2 Java Mail簡介</p><p> Java Mail是由Sun提供的API,但是它沒有被放在JAVA標(biāo)準(zhǔn)的基本開發(fā)包中,表明你在開發(fā)JAVA MAIL系統(tǒng)時(shí)需要另外下載JAVAMAIL包。另外,你還得下載Sun公司的JAF包,JAF非常復(fù)雜,JAVAMAIL的運(yùn)行需要JAF的支持。</p><p>
34、Java Mail包是可選的,因此如果需要使用的話你需要首先從java.sun.com下載。目前最新版本是JavaMail1.4,使用JavaMail的時(shí)候需要下載JAF,安裝Java Mail只是需要把他們加入到CLASSPATH中去,如果你不想修改CLASSPATH的話,可以直接把他們的jar包c(diǎn)opy到JAVA_HOME/lib/ext下,這樣Java Mail就安裝好了[5]。Java Mail包中用于處理電子郵件的核心類是:S
35、ession,Message,Address,Authenticator,Transport,Store,Folder等。Session定義了一個(gè)基本的郵件會(huì)話,它需要從Properties中讀取類似于郵件服務(wù)器,用戶名和密碼等信息。另外很好的實(shí)現(xiàn)了Java Mail API的框架有James、Spring Mail。</p><p> 2.3 Java平臺(tái)簡介</p><p> Ja
36、va平臺(tái)由Java虛擬機(jī)和Java核心類所構(gòu)成,它為純Java程序提供了統(tǒng)一的編程接口,而不管下層操作系統(tǒng)是什么,Java平臺(tái)更分細(xì)一點(diǎn)的話主要是由一個(gè)compiler(編譯器),一個(gè)運(yùn)行環(huán)境(runtime environment),和一個(gè)核心的API組成。Java應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分,在安裝了Java運(yùn)行平臺(tái)后,Java程序就能夠被運(yùn)行了。Java API為分為基本部
37、分與擴(kuò)展部分,Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口。因此Java程序只需要編譯一次,就可以在所有系統(tǒng)中運(yùn)行。Java應(yīng)用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的JDK版本是1.6,最新版本為1.7。與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開放的技術(shù),全球數(shù)以萬計(jì)的 Java 開發(fā)公司被要求所設(shè)計(jì)的 Java 軟件必須相互兼容,“Java 語言靠群體的力量而非公司的力量”為Sun公司的一個(gè)口號(hào),
38、并得到了大多數(shù)軟件開發(fā)公司的認(rèn)同,這和微軟公司的模式不同,微軟提倡的是注重精英和封閉的模式, Java 程序設(shè)計(jì)語言</p><p> Java 平臺(tái)是基于 Java 語言的平臺(tái),這樣的平臺(tái)非常流行,因此微軟公司推出了與之競爭的.NET平臺(tái)以及模仿Java的C#語言,Java是一個(gè)可以在不同操作系統(tǒng)(例如windows, unix等)上運(yùn)行的編程語言,java平臺(tái)是指運(yùn)行在各種終端(如pc、服務(wù)器、移動(dòng)設(shè)備、嵌
39、入式設(shè)備)的系統(tǒng)軟件,PC機(jī)上的java程序是用java SE開發(fā)出來的,服務(wù)器端的java程序是用javaEE開發(fā)出來的,移動(dòng)設(shè)備的java程序是用java ME開發(fā)出來的。</p><p> 2.4 Eclipse簡介</p><p> Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,E
40、clipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。 </p><p> 雖然大多數(shù)用戶很樂于將Eclipse當(dāng)作Java集成開發(fā)環(huán)境(IDE)來使用,但Eclipse 的目標(biāo)卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展Eclipse的軟件開發(fā)人員,
41、因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。</p><p> 這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C++和COBOL等編程語言的插件已經(jīng)可用,或預(yù)計(jì)
42、將會(huì)推出。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。</p><p> 基于Eclipse的應(yīng)用程序的一個(gè)突出例子是IBM® Rational® Software Architect,它構(gòu)成了IBM Java開發(fā)工具系列的基礎(chǔ)。</p><p> 至于Eclipse的安裝首先要?jiǎng)?chuàng)建一個(gè)java的工作環(huán)境,在s
43、un的網(wǎng)站上下載j2se,安裝到自己的系統(tǒng)中,我下載的是1.4版本,安裝目錄為“D:\j2sdk1.4.2_04”。</p><p> 下載地址為:http://java.sun.com/j2se/1.4.2/download.html</p><p> 設(shè)置環(huán)境參數(shù)的步驟如下:</p><p> 右鍵“我的電腦”-“屬性”-“高級(jí)”-“環(huán)境變量”增加:<
44、;/p><p> java_home=D:\j2sdk1.4.2_04\</p><p> ClassPath=d:\j2sdk1.4.2_04\;d:\j2sdk1.4.2_04\lib\tools.jar;d:\j2sdk1.4. 2_04\lib\dt.jar;d:\j2sdk1.4.2_04\bin</p><p> Path=d:\j2sdk
45、1.4.2_04\bin\環(huán)境就設(shè)置好了。</p><p> 第3 章 系統(tǒng)需求分析和總體設(shè)計(jì)</p><p> 3.1用戶對(duì)電子郵件系統(tǒng)需求 </p><p> (1) 方便性。電子郵件系統(tǒng)可以像離線QQ信息一樣,在自己有時(shí)間的時(shí)候可以處理記錄下來的請(qǐng)求,通過電子郵件可以方便快捷地傳送文本信息、圖像文件、報(bào)表和計(jì)算機(jī)程序等信息。<
46、;/p><p> (2) 快捷性。電子郵件在傳遞過程中,若某個(gè)通信站點(diǎn)發(fā)現(xiàn)用戶給出的收信人的電子郵件地址有錯(cuò)誤而無法繼續(xù)傳遞時(shí),電子郵件會(huì)迅速地將原信件逐站退回,并告知其原因。當(dāng)郵件被送到目的地后,該計(jì)算機(jī)的郵件系統(tǒng)就立即將它放人收件人的信箱中,等候用戶自行讀取。用戶只要隨時(shí)以計(jì)算機(jī)聯(lián)機(jī)方式打開自己的電子郵件信箱,便可以查看自己的郵件。</p><p> (3)
47、60;廣域性。電子郵件系統(tǒng)具有開放性,許多沒有連接到互聯(lián)網(wǎng)的用戶能夠通過本機(jī)的網(wǎng)關(guān)(Gateway)和網(wǎng)絡(luò)上的用戶相互交換郵件。</p><p> (4) 透明性。電子郵件系統(tǒng)采用“存儲(chǔ)轉(zhuǎn)發(fā)”的方法幫助用戶傳送電子郵件,通過在互聯(lián)網(wǎng)絡(luò)的一些通信節(jié)點(diǎn)計(jì)算機(jī)上運(yùn)行相應(yīng)的軟件,使這些計(jì)算機(jī)充當(dāng)“郵局”的角色。當(dāng)用戶希望通過互聯(lián)網(wǎng)絡(luò)給別人發(fā)送郵件時(shí),首先要與為自己提供電子郵件的計(jì)算機(jī)聯(lián)機(jī),然后把要發(fā)送的郵件和
48、收件人的郵件地址發(fā)給郵件系統(tǒng)。電子郵件系統(tǒng)就會(huì)把用戶的郵件通過網(wǎng)絡(luò)一站一站地送到目的地,所有過程對(duì)于用戶來說都是透明的。</p><p> (5) 廉價(jià)性。網(wǎng)絡(luò)的空間可以說是無限大的,公司能夠?qū)⒉煌漠a(chǎn)品以及服務(wù)信息放置在網(wǎng)絡(luò)上,這樣用戶就能夠隨時(shí)從網(wǎng)絡(luò)上獲取這些信息,并且相對(duì)于電話,郵寄或印刷來說在網(wǎng)上存儲(chǔ)與發(fā)送信息是非常廉價(jià)的。在公司與顧客“一對(duì)一”關(guān)系的電子郵件服務(wù)中,費(fèi)用低廉,從而節(jié)約大量費(fèi)用
49、。</p><p> (6) 全天性。對(duì)顧客而言,電子郵件的優(yōu)點(diǎn)之一是沒有任何時(shí)間上的限制。一天24小時(shí),一年365天內(nèi),任何時(shí)間都可發(fā)送電子郵件。比如,當(dāng)顧客發(fā)生問題時(shí),他們隨時(shí)都可以把發(fā)生的問題發(fā)送給公司,而公司有關(guān)負(fù)責(zé)人可以在他方便的時(shí)候,查閱這些信件,決定哪些信件必須首先處理,哪些可以稍后處理,哪些應(yīng)該轉(zhuǎn)發(fā)給其他部門去承辦。而以前沒有電子郵件時(shí),顧客的產(chǎn)品本身或產(chǎn)品在使用過程中發(fā)生了問題,需要
50、等到公司人員上班時(shí),才能給公司打電話。而且什么時(shí)候打電話也很講究,打早了,公司負(fù)責(zé)人還沒有上班,打晚了公司負(fù)責(zé)人又可能出去開會(huì)了。電子郵件的全天候服務(wù),從根本上解決了這種狀況,大大改善了公司與顧客的關(guān)系,改善了公司對(duì)顧客的服務(wù)。</p><p> 3.2產(chǎn)品可行性分析</p><p> 電子郵件系統(tǒng)包括電子郵件客戶端和電子郵件服務(wù)器端,其中通過SMTP協(xié)議進(jìn)行發(fā)送郵件,POP3協(xié)議進(jìn)行
51、接收郵件。電子郵件系統(tǒng)的工作過程和相關(guān)收發(fā)協(xié)議如下圖:</p><p> 圖3.1電子郵件系統(tǒng)工作過程圖</p><p> Java Mail是Sun發(fā)布的用來處理E-mail的API。它可以方便的執(zhí)行一些常用的郵件傳輸。Java Mail API是Java對(duì)電子郵件處理的延伸,它可以處理各種E-mail格式,包括IMAP,POP3,SMTP,為Java應(yīng)用程序提供了收發(fā)電子郵件的公共
52、接口,如下圖所示:</p><p> 圖3.2JavaMail API的客戶端工作原理圖</p><p> JavaMail API主要位于javax.mail.internet中,主要類框架圖如下:</p><p> 圖3.3 JavaMail API中主要類的框架圖</p><p> 1.java x.mail.Session:
53、Session類代表JavaMail中的一次郵件會(huì)話.每個(gè)基于JavaMail的應(yīng)用程序至少有一次會(huì)話,也可以產(chǎn)生多次會(huì)話.發(fā)送郵件之前,通常應(yīng)該建立郵件會(huì)話。</p><p><b> 它的作用有:</b></p><p> ?。?)接收各種配置屬性信息:通過Properties對(duì)象設(shè)置的屬性信息;</p><p> ?。?)初始化Java
54、Mail環(huán)境:根據(jù)JavaMail的配置文件,初始化JavaMail環(huán)境以便通過Session對(duì)象創(chuàng)建其他重要類的實(shí)例。</p><p> 2.javax.mail.Transport:郵件操作只有發(fā)送或接收兩種處理方式,JavaMail將這兩種不同操作描述為傳輸(javax.mail.Transport)和存儲(chǔ)(javax.mail.Store),傳輸對(duì)應(yīng)郵件的發(fā)送,而存儲(chǔ)對(duì)應(yīng)郵件的接收。</p>
55、<p> 3.java.mail.Store 該類實(shí)際特定郵件協(xié)議上的讀,寫,監(jiān)視,查找等操作,通過javax.mail.Store類可以訪問javax.mail.Folder類.</p><p> 4.javax.mail.MimeMessage該對(duì)象是實(shí)際發(fā)送的電子郵件的信息.郵件對(duì)象通常使用MimeMessage創(chuàng)建,創(chuàng)建該對(duì)象時(shí)應(yīng)傳入一個(gè)郵件會(huì)話參數(shù).該類采用InternetHeader
56、s類來解析和保存e-mail的頂級(jí)RFC 822文件頭[9].該類包含如下屬性:</p><p> Protected byte[] content 該e-mail內(nèi)容的字節(jié)數(shù)組</p><p> protected internetHeaders headers 返回保存該e-mail的文件頭的對(duì)象</p><p> void addFrom(Address
57、[] addresses 為該e-mail設(shè)置發(fā)件人的地址</p><p> void addHeader(String name ,String value) 在name的文件頭內(nèi)容上增加value;</p><p> void addRecipients(Message.RecipientType type, Address[] addresses)該方法還 有一個(gè)重載的方法,都是
58、增加指定類型的收件地址.</p><p> Address[] getFrom返回該e-mail的發(fā)件人的地址列表</p><p> void setContent(Multipart mp) 為該e-mail設(shè)置內(nèi)容</p><p> 5.javax.mail.Address 該對(duì)象用于確定發(fā)件人/收件人地址..和Message一樣,Address是個(gè)抽象類
59、,時(shí)間使用的是他的子類,javax.mail.internetAddress類. 一旦您創(chuàng)建了Session 和Message,并將內(nèi)容填入消息后,就可以用Address 確定信件地址了</p><p> 6.javax.mail.Folder:Folder類用于分級(jí)組織郵件,并提供照J(rèn)avax.mail.Message格式訪問email的能力。</p><p><b>
60、3.3系統(tǒng)總體設(shè)計(jì)</b></p><p> 3.3.1 電子郵件系統(tǒng)所包含的功能</p><p> 圖3.4 系統(tǒng)功能圖</p><p><b> 本系統(tǒng)主要包括:</b></p><p> (1)登錄系統(tǒng):用某個(gè)郵箱的賬號(hào)和密碼登錄; </p><p> (2)接收郵件
61、:從指定郵箱服務(wù)器獲取郵件; </p><p> (3)發(fā)送郵件:用此賬號(hào)發(fā)送郵件到指定的電子郵箱地址,包括發(fā)送普通 文本和附件; </p><p> (4)群發(fā)郵件: 將郵件群發(fā)給指定郵件地址列表,包括抄送等;</p><p> (5)郵件管理:查看郵件,刪除郵件;</p><p> (6)系統(tǒng)配置:配置郵箱服務(wù)器的smtp地址和
62、pop3地址;</p><p> 3.3.2電子郵件收發(fā)過程</p><p> 圖3.5電子郵件收發(fā)過程圖</p><p> 電子郵件服務(wù)基于客戶/服務(wù)器模式,其工作過程如下:郵件客戶端和郵件服務(wù)器通過POP3協(xié)議收取郵件;通過SMTP傳輸郵件內(nèi)容,實(shí)現(xiàn)郵件信息交換。SMTP通過用戶代理(UA)和郵件傳輸代理程序(MTA)實(shí)現(xiàn)郵件的傳輸?! ?發(fā)送方編輯完畢
63、的電子郵件發(fā)送給當(dāng)?shù)氐泥]件服務(wù)器,郵件服務(wù)器收到客戶送來的郵件,根據(jù)收件人的郵件地址發(fā)送到對(duì)方的郵件服務(wù)器中。對(duì)方的郵件服務(wù)器接收到其他郵件服務(wù)器發(fā)來的郵件,并根據(jù)郵件地址分發(fā)到相應(yīng)的電子郵箱中,這樣接受方可通過電子郵箱來讀取郵件,并對(duì)他們進(jìn)行相關(guān)的處理。 電子郵件在發(fā)送與接收過程中都要遵循SMTP、POP3等協(xié)議,這些協(xié)議確保了電子郵件在各種不同系統(tǒng)之間的傳輸。其中,SMTP負(fù)責(zé)電子郵件的發(fā)送,而POP3則用于接收Inter
64、net上的電子郵件。</p><p> 3.3.3 服務(wù)器的設(shè)置</p><p> 用戶在發(fā)送和接收郵件的時(shí)候,需要設(shè)置好郵件服務(wù)器的地址、郵箱賬號(hào)和密碼等這些信息。該系統(tǒng)提供了對(duì)上述配置的設(shè)置和存儲(chǔ)功能,這里,我們將配置信息存儲(chǔ)在一個(gè)屬性文件里面。其文件名為config.properties,位于工程的根目錄下,可使用java.uitl。properties 類的setPropert
65、y()方法和getProperty()方法對(duì)屬性文件中的屬性內(nèi)容進(jìn)行存取。本系統(tǒng)smtp pop3.properties文件的內(nèi)容格式如下 :</p><p> popAddress=pop3服務(wù)器地址(如pop3.qq.com.cn)</p><p> smtpAddress=smtp服務(wù)器地址(如smtp.qq.com.cn)</p><p> usern
66、ame=用戶名(如x y z)</p><p> password=密碼(如123456)</p><p><b> 第4章 詳細(xì)設(shè)計(jì)</b></p><p> 4.1 登錄功能的設(shè)計(jì)</p><p> ?。?)選擇登錄服務(wù)器,連接服務(wù)器。</p><p> ?。?)選擇指定的郵件地址和密碼
67、。在本系統(tǒng)中有所提供的Mail服務(wù)器創(chuàng)建了賬戶進(jìn)行登錄。必須選用正確的郵件地址和密碼才可以登錄,在該模塊中,用戶輸入賬戶和密碼,程序會(huì)根據(jù)用戶輸入的用戶名和密碼在用戶信息數(shù)表中查找,如果查找成功,就進(jìn)入系統(tǒng)主界面,如果查找失敗,就會(huì)報(bào)錯(cuò)。</p><p> 登錄的設(shè)計(jì)主要有下圖的幾個(gè)步驟。</p><p><b> 圖4.1登錄流程圖</b></p>
68、<p> 4.2發(fā)送郵件的設(shè)計(jì)</p><p> ?。?)編寫文本郵件。該內(nèi)容是電子郵件系統(tǒng)中最基本的功能。用戶需填寫郵件信息:包括收件人,主題,文字內(nèi)容。</p><p> ?。?)上傳附件。在編寫郵件時(shí),郵件內(nèi)容可以和附件(如圖片,聲音等)一起發(fā)送,這樣就需要先將附件上傳到服務(wù)器,然后再發(fā)送給對(duì)方。 </p><p> 發(fā)送郵件的設(shè)計(jì)如下圖所示:
69、</p><p> 圖4.2發(fā)送郵件流程圖</p><p> 4.3接收郵件的設(shè)計(jì)</p><p> ?。?)接收郵件。包括發(fā)件人,發(fā)件時(shí)間。這是一個(gè)電子郵件系統(tǒng)最基本的功能。</p><p> ?。?)瀏覽到郵件列表,也可看到郵件主題,是按時(shí)間先后排序。</p><p> 接收郵件的設(shè)計(jì)如下圖所示:</p
70、><p> 圖4.3接收郵件流程圖</p><p> 4.4郵件管理的設(shè)計(jì)</p><p> ?。?)查看郵件內(nèi)容。包括發(fā)郵件的時(shí)間,郵件的內(nèi)容和主題,以及發(fā)件人,以達(dá)到信息傳遞</p><p> ?。?)刪除郵件。要?jiǎng)h除郵件,只需先選擇某郵件,再單擊刪除命令就可以刪除郵件。此外還可以批量刪除郵件,這也只需要多個(gè)選擇郵件,再單擊刪除就能實(shí)現(xiàn)。
71、</p><p> 郵件管理的設(shè)計(jì)如下圖所示:</p><p><b> 圖4.4郵件管理圖</b></p><p> 第5章 系統(tǒng)功能的編碼實(shí)現(xiàn)</p><p> 5.1用戶登錄界面的實(shí)現(xiàn)</p><p> 用戶選擇對(duì)應(yīng)的郵件服務(wù)器 然后輸入賬號(hào)密碼登錄,郵件服務(wù)器的配置會(huì)保存到配置
72、文件中。例如 選擇的是@qq.com 則SMTP地址為:smtp.qq.com,POP3地址為:pop.qq.com。</p><p><b> 5.1 登錄界面圖</b></p><p> 部分實(shí)現(xiàn)的核心代碼:</p><p> private boolean saveConfig() {</p><p> S
73、tring server = (String) typeBox.getSelectedItem();</p><p> ConfigBean configBean = new ConfigBean();</p><p> configBean.setUserName(userNameText.getText() + server);</p><p> conf
74、igBean.setPassWord(passWordText.getText());</p><p> configBean.setType(server);</p><p> if (server.equals("@qq.com")) {</p><p> configBean.setSmtpAddress("smtp.qq.
75、com");</p><p> configBean.setPopAddress("pop.qq.com");</p><p> } else if (server.equals("@163.com")) {</p><p> configBean.setSmtpAddress("smtp.163.c
76、om");</p><p> configBean.setPopAddress("pop.163.com");</p><p><b> } else {</b></p><p> configBean.setUserName(userNameText.getText() + "@yahoo.cn&
77、quot;);</p><p> configBean.setSmtpAddress("smtp.yahoo.com.cn");</p><p> configBean.setPopAddress("pop.yahoo.com.cn");</p><p><b> }</b></p>
78、<p> ReturnType type = PropertiesUtility.saveConfig(configBean);</p><p> if (type == ReturnType.RIGHT) {</p><p> return true;</p><p><b> }</b></p><p&
79、gt; return false;</p><p><b> }</b></p><p><b> 5.2主界面的實(shí)現(xiàn)</b></p><p> 當(dāng)用戶登錄后,會(huì)進(jìn)入到該界面,可以選擇需要的服務(wù)(發(fā)郵件,收郵件,服務(wù)器配置(Config)),點(diǎn)擊左邊的相應(yīng)郵件功能按鈕,右邊會(huì)顯示相應(yīng)的郵件界面。</p>
80、<p><b> 圖5.2主界面圖</b></p><p> 部分實(shí)現(xiàn)的核心代碼:</p><p> public void setLayout() {</p><p><b> try {</b></p><p> loadImage();</p><p
81、> container = this.getContentPane();</p><p> container.setLayout(null);</p><p> container.setBackground(new Color(168, 193, 227));</p><p> this.setIconImage(titleImage);</
82、p><p> setLeftPanel();</p><p> setSendPanel();</p><p> container.add(controlPanel);</p><p> } catch (Exception e) {</p><p> System.out.println(e.getMessa
83、ge());</p><p><b> }</b></p><p><b> }</b></p><p> 5.3 郵件配置界面的實(shí)現(xiàn)</p><p> 點(diǎn)擊主界面上方的config按鈕會(huì)彈出改配置框,通過該界面可以查看以及修改賬戶和服務(wù)器地址</p><p> 圖
84、5.3郵件配置界面圖</p><p><b> 部分實(shí)現(xiàn)代碼:</b></p><p> private void addUserName() {</p><p> userNameLabel = new JLabel("UserName:");</p><p> userNameLabel.
85、setFont(new Font("黑體", Font.BOLD, 14));</p><p> userNameLabel.setBounds(14, 25, 72, 15);</p><p> container.add(userNameLabel);</p><p> userNameText = new JTextField();&
86、lt;/p><p> userNameText.setBounds(92, 20, 180, 25);</p><p> container.add(userNameText);</p><p><b> }</b></p><p> 5.4 發(fā)送郵件界面的實(shí)現(xiàn)</p><p> 填好收件人
87、地址,主題,內(nèi)容,抄送或添加附件,點(diǎn)擊發(fā)送按鈕,即會(huì)發(fā)送相應(yīng)的內(nèi)容到對(duì)方郵箱。點(diǎn)擊重置按鈕所有內(nèi)容會(huì)清空。</p><p> 圖5.4發(fā)送郵件界面圖</p><p><b> 部分實(shí)現(xiàn)的代碼:</b></p><p> public void addButton() {</p><p> send = new J
88、Button("發(fā) 送");</p><p> send.setBounds(80, 425, 100, 30);</p><p> sendPanel.add(send);</p><p> send.addActionListener(new ActionListener() {</p><p><b&
89、gt; @Override</b></p><p> public void actionPerformed(ActionEvent e) {</p><p> boolean temp = check_Text();</p><p> if (temp) {</p><p> send_Event();</p&g
90、t;<p><b> }</b></p><p><b> }</b></p><p><b> });</b></p><p> JButton reset = new JButton("重 置");</p><p> reset
91、.setBounds(300, 425, 100, 30);</p><p> sendPanel.add(reset);</p><p> reset.addActionListener(new ActionListener() {</p><p><b> @Override</b></p><p> pub
92、lic void actionPerformed(ActionEvent e) {</p><p> reset_Event();</p><p><b> }</b></p><p><b> });</b></p><p><b> }</b></p>
93、<p> 5.5 接收郵件界面的實(shí)現(xiàn)</p><p> 點(diǎn)擊收取郵件按鈕 就可收取該賬戶的郵件,并按先后時(shí)間顯示郵件列表。</p><p> 圖5.5接收郵件的界面圖</p><p><b> 部分實(shí)現(xiàn)的代碼:</b></p><p> public void initTable() {</p
94、><p> defaultTable = new MyTableModel();</p><p> addColumnName(defaultTable);</p><p> table = new JTable(defaultTable);</p><p> setTableAttr();</p><p> J
95、ScrollPane scrollPane = new JScrollPane(table);</p><p> scrollPane.setBounds(5, 25, 475, 400);</p><p> receivePanel.add(scrollPane);</p><p> defaultTable.addTableModelListener(ne
96、w TableModelListener() {</p><p><b> @Override</b></p><p> public void tableChanged(TableModelEvent e) {</p><p><b> }</b></p><p><b> })
97、;</b></p><p> table.addMouseListener(new MouseAdapter() {</p><p><b> @Override</b></p><p> public void mouseClicked(MouseEvent e) {</p><p> mouse_
98、Event(e);</p><p><b> }</b></p><p><b> });</b></p><p><b> }</b></p><p> 第6章 系統(tǒng)實(shí)現(xiàn)的功能測試</p><p> 6.1 登錄郵箱測試</p>
99、<p> 圖6.1登錄郵箱測試</p><p> 選擇好服務(wù)器,然后輸入對(duì)應(yīng)的賬號(hào)和密碼 然后點(diǎn)擊登錄,則登錄郵箱成功</p><p> 然后會(huì)進(jìn)入到如上圖所示的主界面</p><p><b> 6.2發(fā)送郵件測試</b></p><p> 包括發(fā)送文字和附件,以及抄送測試。抄送就是你寫的這封郵件
100、能同時(shí)發(fā)給多個(gè)人,并且收件人知道你把這封郵件同時(shí)發(fā)給了他和抄送欄里寫的郵件地址的人。</p><p> 圖6.2.1發(fā)送文字郵件測試圖</p><p> 圖6.2.2發(fā)送附件測試圖</p><p> 圖6.2.3抄送功能測試圖</p><p><b> 6.3接收郵件測試</b></p><p
101、> 點(diǎn)擊收取郵件,就能達(dá)到郵件的收取。</p><p> 圖6.3接收郵件測試圖</p><p> 6.4查看郵件內(nèi)容測試</p><p> 雙擊要查看的郵件后會(huì)顯示出郵件內(nèi)容</p><p> 圖6.4查看郵件內(nèi)容測試圖</p><p><b> 6.5刪除郵件測試</b>&l
102、t;/p><p> 先選擇單個(gè)要?jiǎng)h除的郵件,也可同時(shí)選擇多個(gè)要?jiǎng)h除的郵件,點(diǎn)擊刪除標(biāo)記按鈕,就能刪除郵件,并由相關(guān)提示,提醒刪除郵件成功,顯示出郵件刪除后的最新列表。</p><p> 圖6.5.1 刪除單個(gè)郵件測試圖</p><p> 圖6.5.2刪除多個(gè)郵件測試圖</p><p> 下圖是刪除郵件成功的提醒</p>&l
103、t;p> 圖6.5.2 刪除郵件成功提醒圖</p><p> 圖6.5.3 郵件刪除后的新列表圖</p><p><b> 第7章 總結(jié)</b></p><p> 在本次畢業(yè)設(shè)計(jì)開發(fā)過程中,我遇到了許許多多的困難,系統(tǒng)雖然基本完成,但是也仍存在一些不足,在這里只是簡要敘述一些主要的困難和不足之處。</p><p
104、> 在開發(fā)郵件系統(tǒng)的過程中,中文亂碼也是一個(gè)比較棘手的問題,因?yàn)閬y碼可能會(huì)在郵件的標(biāo)題,附件以及正文等諸多地方出現(xiàn),但是沒有某一種方法能夠解決全部的亂碼問題,因而解決亂碼問題也是系統(tǒng)開發(fā)的重點(diǎn)難點(diǎn)之一。經(jīng)過一番上網(wǎng)查找和請(qǐng)教老師,終于找出導(dǎo)致亂碼可能出現(xiàn)的原因,通過網(wǎng)上和老師給予的擬采用的解決途徑,終于使亂碼問題得到解決。此外,在郵件系統(tǒng)的開發(fā)中如何處理各種類型的信息成為了開發(fā)過程中的又一個(gè)重點(diǎn)與難點(diǎn),事實(shí)上,Java Mail
105、底層在接收處理MIME數(shù)據(jù)方面依賴與JAF,JAF提供了對(duì)MIME數(shù)據(jù)進(jìn)行處理的部件,它通常用于發(fā)送附件以及實(shí)現(xiàn)對(duì)MIME數(shù)據(jù)的常用操作。在開發(fā)過程中要編寫的東西很多。并且由于自己剛接觸,很多都不熟悉,所以出現(xiàn)問題解決速度很慢,對(duì)功能的實(shí)現(xiàn)方法也比較少。</p><p> 本次畢業(yè)設(shè)計(jì)在很多地方未能考慮周全以至于系統(tǒng)存在著很多不足之處,這些不足主要是由于時(shí)間不足造成的,這就需要在以后系統(tǒng)維護(hù)過程中逐步發(fā)現(xiàn),并不
106、斷進(jìn)行升級(jí),都有待進(jìn)一步改善。</p><p> 通過本次課程設(shè)計(jì),對(duì)java mail也有一些感悟,感覺它真是一個(gè)神奇的東西,里面富含那么多的類,給人們帶來了極大的方便。一個(gè)人編寫代碼真的是很容易出現(xiàn)一些可能看不到的小問題,從古至今人們確實(shí)從自己身上找問題比較難,所以說請(qǐng)教朋友和老師,注重合作更有利于項(xiàng)目的開發(fā)</p><p> 還值得一提的,實(shí)踐確實(shí)是學(xué)習(xí)一樣新技術(shù)最快的方法。理論
107、固然要看,但是需要理論結(jié)合實(shí)踐,在實(shí)踐操作中深化對(duì)理論的理解,這樣才掌握得快。</p><p><b> 參考文獻(xiàn)</b></p><p> [1](美)埃史爾.Java編程思想(第四版).機(jī)械工業(yè)出版社.2007</p><p> [2] Liang,Y.D.Java語言程序設(shè)計(jì)基礎(chǔ)篇.機(jī)械工業(yè)出版社,2006</p>&
108、lt;p> [3] 李金銘,林曉宇,寧正元.面向?qū)ο蟪绦蛟O(shè)計(jì)——Java.北京:北京交通大學(xué)出版社,2005</p><p> [4] 朱福喜著.Java 項(xiàng)目設(shè)計(jì)與開發(fā)范例[M].北京:電子工業(yè)出版社,2005</p><p> [5](美) Nathaniel T. Schutta, Ryan Asleson著.Ajax與Java高級(jí)程序設(shè)計(jì).郵電出版社,2007</
109、p><p> [6] O'Reilly & Associates,Inc 《Java Cookbook》in the United States or Canada</p><p> [7] O’reilly,《Java Servlet Programming》,American:Sernni Yey</p><p> [8] 印雯,Java語言與
110、面向?qū)ο蟪绦蛟O(shè)計(jì).北京:清華大學(xué)出版,2002年. [9] 畢廣吉.Java程序設(shè)計(jì)實(shí)例教程[M]. 北京:冶金工業(yè)出版社,2007年</p><p> [10]張桂珠,劉麗,陳愛國 Java面向?qū)ο蟪绦蛟O(shè)計(jì)(第2版) 北京郵電大學(xué)出版社</p><p> [11]劉騰紅,孫細(xì)明.信息系統(tǒng)分析與設(shè)計(jì)[M]. 北京:科學(xué)出版社,2003年</p><p><
111、;b> 致 謝</b></p><p> 在老師和同學(xué)的支持與幫助下,我順利地完成了本次畢業(yè)設(shè)計(jì)。通過這段時(shí)間的畢業(yè)設(shè)計(jì),本人受益非淺,對(duì)電子郵件系統(tǒng)有了更深刻的理解,在此期間,我認(rèn)識(shí)到自己的不足之處并爭取獨(dú)立完成畢業(yè)設(shè)計(jì),收獲頗多,學(xué)到了以前很多沒有學(xué)到的知識(shí),同時(shí)也鞏固了以前所學(xué)過的知識(shí)。</p><p> 這次的畢業(yè)設(shè)計(jì)是在zz老師的悉心指導(dǎo)下完成的,xx老
112、師在整個(gè)畢業(yè)設(shè)計(jì)期間一直特別認(rèn)真負(fù)責(zé),經(jīng)常主動(dòng)聯(lián)系我們,詢問我們的進(jìn)度,幫助我們查找資料,在修改設(shè)計(jì)報(bào)告期間總是耐心的為我們查看報(bào)告的內(nèi)容和格式,不厭其煩的指導(dǎo)我們完善設(shè)計(jì)報(bào)告,達(dá)到最終的要求。在我個(gè)人設(shè)計(jì)的整個(gè)過程中,也給予我很多意見和建議,幫助我解決了很多問題,使我真正了解了如何從整體上分析、設(shè)計(jì)該系統(tǒng),xx老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和認(rèn)真負(fù)責(zé)給我留下了深刻的印象,在此衷心的對(duì)xx老師說聲謝謝您。這次畢業(yè)設(shè)計(jì)也讓我獲益匪淺,讓我明白應(yīng)該以一
113、種什么樣的心態(tài)去面對(duì)一個(gè)新的知識(shí)領(lǐng)域,應(yīng)該怎樣協(xié)調(diào)理論和具體實(shí)踐之間的關(guān)系。</p><p> 回顧大學(xué)學(xué)習(xí)期間的日日夜夜,自己為有機(jī)會(huì)潛心研究,靜心思考,并實(shí)現(xiàn)了郵件系統(tǒng)的基本功能而感到非常的欣慰。同時(shí),我要向關(guān)心與支持我的老師和同學(xué)們表示真誠的感謝!他們?cè)谙到y(tǒng)開發(fā)期間給予我熱情的幫助和鼓勵(lì),提出了許多寶貴的意見,使我拓寬了視野,豐富了思路,獲得了許多解決問題的行之有效的方法。感謝在設(shè)計(jì)中被我引用或參考的論著
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【資料下載】基于java_mail的電子郵件收發(fā)系統(tǒng)畢業(yè)設(shè)計(jì)[原創(chuàng)精品]
- 畢業(yè)設(shè)計(jì)(論文)基于java mail的電子郵件收發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的電子郵件收發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 基于java的電子郵件收發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于javamail的電子郵件收發(fā)系統(tǒng)
- 基于java的電子郵件的收發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【文獻(xiàn)綜述】
- 基于java的電子郵件的收發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【開題報(bào)告】
- 基于java電子郵件系統(tǒng)
- 電子郵件收發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文】
- 電子郵件e-mail課件
- 基于java的郵件收發(fā)系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)電子郵件系統(tǒng)
- 基于cs的電子郵件簡單收發(fā)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于java的電子郵件接收系統(tǒng)【開題報(bào)告】
- 畢業(yè)論文——基于cs的電子郵件簡單收發(fā)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 電子郵件收發(fā)管理規(guī)定
- 電子郵件的幾種特殊收發(fā)
- 電子郵件收發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【開題報(bào)告】
- 《收發(fā)電子郵件》教案設(shè)計(jì)
- 基于JAVA的安全WEB電子郵件系統(tǒng).pdf
評(píng)論
0/150
提交評(píng)論