【正文】
現(xiàn)各種功能的服務(wù)器組成的功能集合[1]。比如,當(dāng)顧客發(fā)生問(wèn)題時(shí),他們隨時(shí)都可以把發(fā)生的問(wèn)題發(fā)送給公司,而公司有關(guān)負(fù)責(zé)人可以在他方便的時(shí)候,查閱這些信件,決定哪些信件必須首先處理,哪些可以稍后處理,哪些應(yīng)該轉(zhuǎn)發(fā)給其它部門(mén)去承辦。(5)廉價(jià)性 互聯(lián)網(wǎng)絡(luò)的空間幾乎是無(wú)限的,公司可以將不同詳細(xì)程度的有關(guān)產(chǎn)品、服務(wù)的信息放在網(wǎng)絡(luò)站點(diǎn)上,這時(shí)顧客不僅可以隨時(shí)從網(wǎng)上獲得這些信息,而且在網(wǎng)上存儲(chǔ)、發(fā)送信息的費(fèi)用都低于印刷、郵寄或電話的費(fèi)用。用戶只要隨時(shí)以計(jì)算機(jī)聯(lián)機(jī)方式打開(kāi)自己的電子郵件信箱,便可以查閱自己的郵件。第2章 郵件服務(wù)器分析一、郵件服務(wù)器的需求分析(1)方便性 電子郵件系統(tǒng)可以像使用留言電話一樣,在自己方便的時(shí)候處理記錄下來(lái)的請(qǐng)求,通過(guò)電子郵件可以方便地傳送文本信息、圖像文件、報(bào)表和計(jì)算機(jī)程序。例如,安裝了反垃圾郵件系統(tǒng)的服務(wù)器首先會(huì)對(duì)郵件進(jìn)行反垃圾郵件檢查,通過(guò)檢查的正常郵件才會(huì)被保存到用戶郵箱中,再如,有些開(kāi)通了短信通知的服務(wù)器會(huì)在保存郵件的同時(shí),向用戶手機(jī)發(fā)送郵件到達(dá)短信;還有,163等web郵箱都會(huì)按照用戶設(shè)置的過(guò)濾規(guī)則對(duì)郵件進(jìn)行相應(yīng)處理。特別是許多郵件服務(wù)器對(duì)轉(zhuǎn)發(fā)郵件的來(lái)源不加限制,任何服務(wù)器都可以通過(guò)他來(lái)轉(zhuǎn)發(fā)郵件,即所謂的開(kāi)放式轉(zhuǎn)發(fā)。(2) 在發(fā)件服務(wù)器將郵件發(fā)送給收件人郵箱所在服務(wù)器這一步中,發(fā)見(jiàn)服務(wù)器會(huì)通過(guò)SMTP協(xié)議將郵件提交給收件服務(wù)器。因此,當(dāng)發(fā)送一條電子郵件給一另一個(gè)客戶時(shí),電子郵件首先從用戶計(jì)算機(jī)發(fā)送到ISP主機(jī),再到Internet,再到收件人的ISP主機(jī),最后到收件人的個(gè)人計(jì)算機(jī)。郵件服務(wù)器識(shí)將消息存放在接收者的電子信箱內(nèi),并告知接收者有新郵件到來(lái)。使用郵箱系統(tǒng)后,所有的信箱都是用“name企業(yè)域名”這種形式,從而可以樹(shù)立統(tǒng)一的企業(yè)品牌形象。在其它的多用戶系統(tǒng)上,也陸續(xù)開(kāi)發(fā)和使用了類似的郵件軟件。當(dāng)CTSS系統(tǒng)的用戶需要向其它用戶傳遞信息時(shí),他們會(huì)在一個(gè)通用的目錄下以“TO TOM”之類的文件名命名,查看或者打印其中的內(nèi)容。這是任何傳統(tǒng)的方式也無(wú)法相比的。電子郵件系統(tǒng)則是具有處理電子郵件功能的系統(tǒng)。計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)出現(xiàn)之后,將他們應(yīng)用到信息交流中,以建立更加快捷方便的信息交流手段,也就是順理成章的事情了。Email。從客戶端和用戶界面的開(kāi)發(fā)方面詳細(xì)闡述整個(gè)電子郵件實(shí)現(xiàn)的全過(guò)程,并對(duì)開(kāi)發(fā)過(guò)程中的難點(diǎn)進(jìn)行分析和研究,并通過(guò)系統(tǒng)結(jié)構(gòu)圖,功能模塊圖,UML等方式形象地描述,所實(shí)現(xiàn)的客戶端是友好美觀與易用的。用戶最初只能通過(guò)Outlook、Foxmail等客戶端軟件來(lái)收發(fā)自己的郵件。隨著Web郵箱的面世,其快捷,方便的特點(diǎn)吸引了眾多的網(wǎng)絡(luò)客戶。關(guān)鍵詞:Java電子郵件系統(tǒng);電子郵件;郵件發(fā)送 Abstract With the development of the Internet, people use one of the most is the server. The user initially only to send and receive their mail through the Outlook, Foxmail client software. The advent of the Web mailbox, it’s fast, convenient features attracts a large number of network client.After the analysis, This article used the software engineering method to realize the design and development of a simple management server, this system has realized the basic function of the message, including receiving, sending, reading. It can send attachments, can manage folders on the mailing list. you can add, delete, modify contact address book. Focus on the development of client and user interface in detail state the whole process of receiver. Analyze and study the difficulties in the process of development, and vividly describe by the system structure diagram, function block diagram, UML, etc., the client is friendly and beautiful and easy to use.Keywords:電子郵件技術(shù)正式伴隨這網(wǎng)絡(luò)和計(jì)算機(jī)技術(shù)的發(fā)展而不斷成熟和發(fā)展起來(lái)的。通過(guò)網(wǎng)絡(luò)的電子郵件系統(tǒng),用戶可以免費(fèi)地,非常快的(幾秒鐘之內(nèi)可以發(fā)送到世界上任何你指定的目的地),與世界上任何一個(gè)角落的網(wǎng)絡(luò)用戶聯(lián)系。二、郵件服務(wù)器發(fā)展簡(jiǎn)史 與一般人想象的不同,其實(shí)最早的電子郵件系統(tǒng)早在網(wǎng)絡(luò)形成就已經(jīng)出現(xiàn)了。在這種簡(jiǎn)單的信息發(fā)送方法的基礎(chǔ)上,出現(xiàn)里第一個(gè)“郵件”工具,通過(guò)這個(gè)工具,CTSS系統(tǒng)的管理員可以向用戶發(fā)送信息,例如某個(gè)用戶他丟失的文件已經(jīng)通過(guò)備份找回。這些軟件的工作原理類似,都是在用戶目錄下設(shè)置一個(gè)特殊的目錄,一個(gè)用戶給另一個(gè)用戶發(fā)信時(shí),就在收信者的目錄下建立一個(gè)新的文檔,并在其中保存新建的內(nèi)容。一些意識(shí)超前的企業(yè)單位已 1開(kāi)始注意用Email來(lái)塑造和提升自己的企業(yè)形象。接收者通過(guò)郵件客戶程序連接到服務(wù)器后,就會(huì)看到服務(wù)器的通知,進(jìn)而打開(kāi)自己的電子信箱來(lái)查收郵件。 ISP主機(jī)起著“郵局”的作用,管理著眾多用戶的電子信箱。根據(jù)SMTP協(xié)議的規(guī)定,如果發(fā)件服務(wù)器無(wú)法直接連接收件服務(wù)器,可以請(qǐng)求其它的郵件服務(wù)器幫助進(jìn)行轉(zhuǎn)發(fā)。由于在郵件頭中只記錄了域名信息,而沒(méi)有IP地址信息,因此通過(guò)轉(zhuǎn)發(fā)之后無(wú)法得知郵件初始發(fā)出的IP地址。隨著技術(shù)的進(jìn)步和用戶對(duì)郵件功能需求的不斷增加,越來(lái)越多的處理步驟也被增加到這一環(huán)節(jié)中,并且絕大多數(shù)的反垃圾郵件技術(shù)都是在這一環(huán)節(jié)中應(yīng)用的。(2)廣域性 電子郵件系統(tǒng)具有開(kāi)放性,許多非互聯(lián)網(wǎng)絡(luò)上的用戶可以通過(guò)網(wǎng)關(guān)(Gateway)與互聯(lián)網(wǎng)絡(luò)上的用戶交換電子郵件。(4)透明性電子郵件系統(tǒng)采用“存儲(chǔ)轉(zhuǎn)發(fā)”的方式為用戶傳遞電子郵件,通過(guò)在互聯(lián)網(wǎng)絡(luò)的一些通信節(jié)點(diǎn)計(jì)算機(jī)上運(yùn)行相應(yīng)的軟件,使這些計(jì)算機(jī)充當(dāng)“郵局”的角色。在公司與顧客“一對(duì)一”關(guān)系的電子郵件服務(wù)中,費(fèi)用低廉,從而節(jié)約大量費(fèi)用。而以前沒(méi)有電子郵件時(shí),顧客的產(chǎn)品本身或產(chǎn)品在使用過(guò)程中發(fā)生了問(wèn)題,需要等到公司人員上班時(shí),才能給公司打電話。 電子郵件系統(tǒng)由兩大部分組成,即用戶代理UA和郵件傳輸代理MDA。郵件傳輸代理程序具有發(fā)送、接收和存儲(chǔ)轉(zhuǎn)發(fā)郵件的功能。但是該服務(wù)器無(wú)法提供友好的訪問(wèn)接口。該服務(wù)器為用戶提供郵件系統(tǒng)的訪問(wèn)接口,用戶在遠(yuǎn)程計(jì)算機(jī)通過(guò)瀏覽器訪問(wèn)郵件系統(tǒng),通過(guò)Web服務(wù)所提供的接口實(shí)現(xiàn)各種功能。 將以上3種服務(wù)器聯(lián)系起來(lái)就可以構(gòu)建一個(gè)最基本的電子郵件系統(tǒng)。(二)編程語(yǔ)言和編程環(huán)境的選擇 JSP[3]是Java Server Pages的縮寫(xiě),它是一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。所有的程序都在服務(wù)器段執(zhí)行,在通過(guò)網(wǎng)絡(luò)傳送到客戶端的僅是程序執(zhí)行的結(jié)果,因此對(duì)客戶端瀏覽器的要求很低。JSP對(duì)編程環(huán)境的要求不像其它語(yǔ)言那么苛刻,但是有個(gè)好的編程環(huán)境會(huì)讓我們的工作事半功倍,我使用的編程環(huán)境是J Builder 9它可以很方便的建立工程、WebApplication、Package和Servlet,還能有效地對(duì)WebApplication進(jìn)行部署。(三) 服務(wù)器軟件的選擇(1) Web服務(wù)器軟件 Tomcat是Java Servlet和Java Server Pages技術(shù)的標(biāo)準(zhǔn)實(shí)現(xiàn),最初是基于Apache許可證下開(kāi)發(fā)的自由軟件用來(lái)給Apache提供解釋JSP的功能模塊。(2) 郵件服務(wù)器軟件 說(shuō)到郵件服務(wù)器軟件人們肯定會(huì)想到大名鼎鼎的Sendmail,它是最早的郵件服務(wù)器軟件之一,它的功能十分強(qiáng)大,配置十分的繁瑣,不過(guò)如果只需要一些常用的功能,它的配置還是比較方便的。它具有以下的特點(diǎn):簡(jiǎn)單Java最初是為了對(duì)家用電器進(jìn)行智能化控制而設(shè)計(jì)的一種語(yǔ)言,因此它特別的簡(jiǎn)單明了。③在Java中有豐富的類庫(kù),大大方便了編程工作。分布性Java有很強(qiáng)的網(wǎng)絡(luò)特性。安全性Java不支持指針,因此一切對(duì)內(nèi)存的訪問(wèn)都必須通過(guò)對(duì)象的實(shí)例變量來(lái)進(jìn)行,因此可以有效的防范病毒的入侵。動(dòng)態(tài)性Java的設(shè)計(jì)使它適合于一個(gè)不斷發(fā)展的環(huán)境。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn) Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Tools,JDT)。中層為Eclipse的圖形界面(包括——工作臺(tái),JFace,SWT),核心為工作空間(workspace)和運(yùn)行時(shí)內(nèi)核(runtime)。Eclipse還對(duì)這些插件的協(xié)同工作提供了良好的支持,不僅安裝簡(jiǎn)單,而且還可以無(wú)縫結(jié)合。(二) Tomcat安裝Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache服務(wù)器,可利用它響應(yīng)對(duì)HTML頁(yè)面的訪問(wèn)請(qǐng)求。三、 開(kāi)發(fā)軟件的安裝(一) JAVA環(huán)境的安裝與配置在安裝Eclipse之前,需要先安裝JDK(Java Development Kits)。在該對(duì)話框中可以設(shè)置只有當(dāng)前用戶登錄時(shí)才有效的用戶變量,也可以設(shè)置該系統(tǒng)的所有用戶登錄時(shí)都有效的系統(tǒng)變量。 系統(tǒng)屬性對(duì)話框 環(huán)境變量對(duì)話框 新建系統(tǒng)變量對(duì)話框(二) Eclipse的安裝Eclipse是開(kāi)放源代碼的項(xiàng)目。 ,稱為L(zhǎng)anguage Pack。Path= d:\\eclipse\\language(三) Tomcat的安裝Tomcat是開(kāi)放源代碼的項(xiàng)目。Set catalina_home= C:\java\Tomcat Set classpath=.。數(shù)據(jù)庫(kù)服務(wù)器為用戶的注冊(cè)信息和用戶登錄系統(tǒng)時(shí)的身份認(rèn)證提供數(shù)據(jù)庫(kù)支持。還有很多的功能,只要是用戶想要的就應(yīng)該建立此功能。未注冊(cè)的用戶需要進(jìn)入注冊(cè)接口,輸入新的用戶名、密碼以及確認(rèn)密碼和一些必要的用戶信息才能注冊(cè),注冊(cè)成功以后系統(tǒng)自動(dòng)返回登錄接口,重新登陸后方可進(jìn)入系統(tǒng)的主接口[7]。點(diǎn)擊可以進(jìn)入讀取郵件的接口,閱讀相應(yīng)的郵件。每條郵件信息內(nèi)部有一個(gè)超級(jí)鏈接,通過(guò)點(diǎn)擊進(jìn)入郵件可以下載郵件中的附件內(nèi)容。 第五章 系統(tǒng)的具體實(shí)現(xiàn) 服務(wù)器平臺(tái)的實(shí)現(xiàn)(一) Web服務(wù)器的安裝配置 Tomcat是一個(gè)Web容器,所有的J2EE WEB程序可以在此處運(yùn)行。databaseName=yiyouDB/dburl usersa/user passwordztev123456/password max20/max/datasource此配置服務(wù)器與數(shù)據(jù)庫(kù)的鏈接 \\lib。我設(shè)計(jì)了四個(gè)表來(lái)保存用戶的數(shù)據(jù),因?yàn)閖ava中hibernate框架可以自動(dòng)在數(shù)據(jù)庫(kù)中創(chuàng)建表,所以只需定義表結(jié)構(gòu)的類既可,建表代碼具體如下:(1) Users表(用戶表): 對(duì)應(yīng)的java類代碼:package 。//用戶名 private String pwdHash。 private String forwardDestination。//用戶的文件夾 private SetAddress_Book address_books。 } public void setPwdHash(String pwdHash) { = pwdHash。 } public void setUseForwarding(int useForwarding) { = useForwarding。 } public void setUseAlias(int useAlias) { = useAlias。 } public void setFolders(SetFolder_Information folders) { = folders。 }} 項(xiàng)目啟動(dòng)后在數(shù)據(jù)庫(kù)中自動(dòng)生成的表: 數(shù)據(jù)庫(kù)中自動(dòng)生成的表 Username:用戶賬號(hào) pwdH