任艷娜,閭素紅
(河南農(nóng)業(yè)大學(xué) 信息與管理科學(xué)學(xué)院,鄭州 450002)
基于Java技術(shù)的電子郵件發(fā)送系統(tǒng)
任艷娜,閭素紅
(河南農(nóng)業(yè)大學(xué) 信息與管理科學(xué)學(xué)院,鄭州 450002)
網(wǎng)絡(luò)經(jīng)濟的來臨,引致了電子商務(wù)的迅速發(fā)展,據(jù)權(quán)威調(diào)查機構(gòu)發(fā)布的數(shù)據(jù)顯示,2009年中國電子商務(wù)交易額增長率保持在40%以上。這樣勢不可擋的態(tài)勢使全球企業(yè)不能不根據(jù)它的發(fā)展來調(diào)整自己的業(yè)務(wù)方式。廣義地講,電子商務(wù)是指對整個貿(mào)易活動實現(xiàn)電子化,這種現(xiàn)代商業(yè)方法通過改善產(chǎn)品和服務(wù)質(zhì)量、提高服務(wù)傳遞速度,滿足企業(yè)和消費者的降低成本的需求。狹義地說,電子商務(wù)是通過Internet及其技術(shù)進行的各項商務(wù)活動, 它涵蓋業(yè)務(wù)的全過程——包括廣告、交易、支付、服務(wù)等活動。
然而頻繁的電子商務(wù)活動中,電子郵件的發(fā)送可所謂是給人們的電子商務(wù)活動的開展提供了一個便利的聯(lián)系通道。現(xiàn)在電子郵件已成為電子商務(wù)中不可或缺的一部分。電子郵件簡單的說就是通過Internet來郵寄的信件。電子郵件使用起來也很方便,無論何時何地,只要能上網(wǎng),就可以通過Internet發(fā)電子郵件,或者打開自己的信箱閱讀別人發(fā)來的郵件。
在多數(shù)的電子商務(wù)系統(tǒng)中都會有電子郵件這一模塊,為用戶提供便利,本系統(tǒng)是模仿電子商務(wù)網(wǎng)站中的電子郵件發(fā)送功能,這一模塊基于Java Web技術(shù),基本實現(xiàn)了電子郵件的生成、發(fā)送、存儲等功能。
電子郵件的工作過程遵循客戶-服務(wù)器模式。每份電子郵件的發(fā)送都要涉及到發(fā)送方與接收方,發(fā)送方式構(gòu)成客戶端,而接收方構(gòu)成服務(wù)器,服務(wù)器含有眾多用戶的電子信箱。發(fā)送方通過郵件客戶程序,將編輯好的電子郵件向郵局服務(wù)器(SMTP服務(wù)器)發(fā)送。郵局服務(wù)器識別接收者的地址,并向管理該地址的郵件服務(wù)器(POP3服務(wù)器)發(fā)送消息。郵件服務(wù)器識將消息存放在接收者的電子信箱內(nèi),并告知接收者有新郵件到來。接收者通過郵件客戶程序連接到服務(wù)器后,就會看到服務(wù)器的通知,進而打開自己的電子信箱來查收郵件。
通常Internet上的個人用戶不能直接接收電子郵件,而是通過申請ISP主機的一個電子信箱,由ISP主機負責(zé)電子郵件的接收。一旦有用戶的電子郵件到來,ISP主機就將郵件移到用戶的電子信箱內(nèi),并通知用戶有新郵件。因此,當(dāng)發(fā)送一條電子郵件給另一個客戶時,電子郵件首先從用戶計算機發(fā)送 到ISP主機,再到Internet,再到收件人的ISP主機,最后到收件人的個人計算機。 ISP主機起著“郵局”的作用,管理著眾多用戶的電子信箱。每個用戶的電子信箱實際上就是用戶所申請的賬號名。每個用戶的電子郵件信箱都要占用 ISP主機一定容量的硬盤空間,由于這一空間是有限的,因此用戶要定期查收和閱讀電子信箱中的郵件,以便騰出空間來接收新的郵件。
如同其他各種電子文檔一樣,電子郵件內(nèi)容也必須遵循一定的格式要求,各種郵件處理程序才能從中分析和提取出發(fā)件人、收件人、主題和附件等信息。郵件內(nèi)容的基本格式和具體細節(jié)分別由RFC822和MIME協(xié)議定義。
由于Internet的迅猛發(fā)展,人們已不滿足于電子郵件僅僅是用來交換文本信息,而希望使用電子郵件來交換更為豐富多彩的多媒體信息,例如,在郵件中嵌入圖片、聲音、動畫和附件。針對這個問題,人們專門定義了MIME(Multipurpose Internet Mail Extension,多用途Internet郵件擴展)協(xié)議。MIME協(xié)議不是RFC822郵件格式的升級和替代,而是基于RFC822郵件格式的擴展應(yīng)用。RFC822定義了郵件內(nèi)容的格式和郵件頭字段的詳細細節(jié),MIME協(xié)議則是定義了如何在郵件體部分表達出豐富多彩的數(shù)據(jù)內(nèi)容。
我們選用了JSP技術(shù),JSP是一種Web編程腳本語言。JSP(Java Server Pages)是基于Java Servlet以及整個Java體系的Web開發(fā)技術(shù)。利用這一技術(shù)可以建立先進、安全和跨平臺的動態(tài)網(wǎng)站。所以我們需要安裝Java開發(fā)工具集(JDK)和Tomcat(網(wǎng)站服務(wù)器)。它們之間的關(guān)系如圖1所示。

圖1 開發(fā)環(huán)境結(jié)構(gòu)
系統(tǒng)模塊包括用戶登陸注冊模塊、郵件發(fā)送模塊(這是系統(tǒng)的核心內(nèi)容,也是系統(tǒng)的主要功能,注冊用戶登陸后,就要使用系統(tǒng)發(fā)送郵件的功能發(fā)送郵件。這部分的主要任務(wù)是將用戶填寫的文本內(nèi)容和選擇的附件文件合成為郵件,并通過代理郵件服務(wù)器發(fā)送出去。此模塊的主要任務(wù)是郵件的合成與發(fā)送,重點是將郵件附件有客戶端上傳到服務(wù)器。然后再利用此附加文件合成郵件并通過郵件服務(wù)器發(fā)送出去)、 瀏覽模塊、數(shù)據(jù)庫模塊(毋庸置疑,數(shù)據(jù)庫在每個系統(tǒng)之都起著舉足輕重的作用,系統(tǒng)數(shù)據(jù)的存貯有此模塊完成。在本系統(tǒng)中用到的數(shù)據(jù)庫服務(wù)器是Mysql,Mysq可謂是一個功能強大的數(shù)據(jù)庫服務(wù)器。本系統(tǒng)數(shù)據(jù)的設(shè)計相對較為簡單,在設(shè)計方面只有一張用戶表,用來存儲用戶的信息)。
在本系統(tǒng)的各個模塊中,最重要的是在郵件發(fā)送模塊實現(xiàn)文件的上傳功能,把本地的文件上傳到服務(wù)器后服務(wù)器才能生成郵件。另外,在瀏覽模塊中用了JSP標(biāo)簽,JSP標(biāo)簽在Java Web開發(fā)中是很常用的技術(shù)。在本系統(tǒng)里得到了應(yīng)用。
系統(tǒng)采用3層架構(gòu)模式,web層(用來顯示)、業(yè)務(wù)層(用來完成業(yè)務(wù)處理,與數(shù)據(jù)庫交互,完成數(shù)據(jù)的存取)、數(shù)據(jù)層(數(shù)據(jù)庫完成數(shù)據(jù)的存取)。
本系統(tǒng)關(guān)鍵技術(shù)使用了J2EE,J2EE是一個開放的、基于標(biāo)準(zhǔn)的開發(fā)和部署的平臺,用于構(gòu)建N層的、基于Web的、以服務(wù)端計算為核心的、模塊化的企業(yè)應(yīng)用。J2EE同時也是所有兼容J2EE標(biāo)準(zhǔn)的應(yīng)用服務(wù)器產(chǎn)品的統(tǒng)一標(biāo)識。
本系統(tǒng)設(shè)計是采用MVC模式,在開發(fā)一個軟件之前,必須先設(shè)計好其框架,一個基本的架構(gòu)思想是將軟件分成不同的模塊,問題的關(guān)鍵是如何劃分模塊。MVC(模型-試圖-控制器)是20世紀(jì)80年代為Smalltalk-80編程語言發(fā)明的一種軟件設(shè)計模式,它是一種分離業(yè)務(wù)邏輯與顯示界面的設(shè)計方法。MVC的模型(Model)部分用來掛歷程序的業(yè)務(wù)數(shù)據(jù),視圖(View)部分負責(zé)顯示界面,控制器(Controller)部分則負責(zé)與用戶進行交互(接受請求和選擇響應(yīng)視圖)。
Java郵件發(fā)送系統(tǒng)是一個以計算機為工具,通過Internet發(fā)送郵件的系統(tǒng)。實際上目前在Internet上已經(jīng)有許多網(wǎng)站免費的電子郵件發(fā)送。本系統(tǒng)主要是模仿它們的功能來實現(xiàn)的。基本上實現(xiàn)了電子郵件的發(fā)送以及發(fā)送附件的功能。通過此系統(tǒng)用戶可以輕松的發(fā)送電子郵件,從免去了發(fā)送普通郵件帶來的不便。
本系統(tǒng)雖然實現(xiàn)了一些功能,但是由于個人能力以及時間限制,不足之處還有很多。系統(tǒng)的功能還不完善,目前只是完成了一些經(jīng)常使用的功能設(shè)計,并且是使用別人的郵件服務(wù)器。此外,由于經(jīng)驗不足,系統(tǒng)的穩(wěn)定性,安全性等都沒有進行測試,這些都有待于在以后的學(xué)習(xí)中去完善。
[1]鄔繼成. Struts與Hibernate實用教程-構(gòu)建基于MVC模式的高效Java Web應(yīng)用[M]. 工業(yè)出版社, 2006.
[2]孫衛(wèi)琴. 精通Struts: 基于MVC的Java Web設(shè)計與開發(fā)[M]. 電子工業(yè)出版社, 2006.
[3]林信良. Spring技術(shù)手冊[M]. 電子工業(yè)出版社, 2006.
[4]夏昕, 曹曉鋼, 唐勇. 深入淺出Hibernate[M]. 電子工業(yè)出版, 2005.
[5]孫衛(wèi)琴. 精通Hibernate: Java對象持久化技術(shù)詳解[M]. 電子工業(yè)出版社, 2005.
[6]張孝祥. 深入體驗Java Web開發(fā)內(nèi)幕——核心基礎(chǔ)[M].電子工業(yè)出版社, 2006.
[7]張孝祥. Java就業(yè)培訓(xùn)教程[M]. 清華大學(xué)出版社, 2003.
[8]張孝祥. JavaSoript網(wǎng)頁開發(fā)—體驗式學(xué)習(xí)教程[M]. 清華大學(xué)出版社, 2004.
[9]科夫勒, 楊曉云, 等譯. MySQL 5權(quán)威指南(第3版)[M]. 人民郵電出版社, 2006.
[10]Bruce Eckel.Thinking in java[M]. 機械工業(yè)出版社, 2004.
[11]Toby Walsh. Principles and Practice of Constraint Programming[M]. Springer, 2001.
Based on java technolog mail sends system
REN Yan-na, LV Su-hong
頻繁的電子商務(wù)活動中,電子郵件的發(fā)送可所謂是給人們的電子商務(wù)活動的開展提供了一個便利的聯(lián)系通道。本文簡述了企業(yè)級Java開發(fā)中郵件發(fā)送的基本理論知識及運行機制,介紹了基于Java Servlet的Java Web開發(fā)技術(shù)的相關(guān)知識、平臺的搭設(shè)、開發(fā)工具的選擇、開發(fā)具體方法。重點研究了基于java技術(shù)的電子郵件發(fā)送系統(tǒng)的分析、設(shè)計、實現(xiàn)的全過程。
電子郵件;Java;J2EE;MVC
任艷娜(1977-),女,河南漯河人,碩士,主要從事計算機應(yīng)用、農(nóng)業(yè)信息化、面向?qū)ο缶幊谭矫娴难芯抗ぷ鳌?/p>
TP311
A
1009-0134(2011)1(上)-0167-03
10.3969/j.issn.1009-0134.2011.1(上).51
2010-10-12
國家863課題(2008AA10Z220);河南省重大科技攻關(guān)計劃(082102140004)。