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

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