基于Java技术的电子邮件发送系统
2011-05-11任艳娜闾素红
任艳娜,闾素红
(河南农业大学 信息与管理科学学院,郑州 450002)
基于Java技术的电子邮件发送系统
任艳娜,闾素红
(河南农业大学 信息与管理科学学院,郑州 450002)
0 引言
网络经济的来临,引致了电子商务的迅速发展,据权威调查机构发布的数据显示,2009年中国电子商务交易额增长率保持在40%以上。这样势不可挡的态势使全球企业不能不根据它的发展来调整自己的业务方式。广义地讲,电子商务是指对整个贸易活动实现电子化,这种现代商业方法通过改善产品和服务质量、提高服务传递速度,满足企业和消费者的降低成本的需求。狭义地说,电子商务是通过Internet及其技术进行的各项商务活动, 它涵盖业务的全过程——包括广告、交易、支付、服务等活动。
然而频繁的电子商务活动中,电子邮件的发送可所谓是给人们的电子商务活动的开展提供了一个便利的联系通道。现在电子邮件已成为电子商务中不可或缺的一部分。电子邮件简单的说就是通过Internet来邮寄的信件。电子邮件使用起来也很方便,无论何时何地,只要能上网,就可以通过Internet发电子邮件,或者打开自己的信箱阅读别人发来的邮件。
在多数的电子商务系统中都会有电子邮件这一模块,为用户提供便利,本系统是模仿电子商务网站中的电子邮件发送功能,这一模块基于Java Web技术,基本实现了电子邮件的生成、发送、存储等功能。
1 电子邮件的工作原理
电子邮件的工作过程遵循客户-服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(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协议则是定义了如何在邮件体部分表达出丰富多彩的数据内容。
2 Java邮件发送系统的系统分析与设计
2.1 开发平台搭建
我们选用了JSP技术,JSP是一种Web编程脚本语言。JSP(Java Server Pages)是基于Java Servlet以及整个Java体系的Web开发技术。利用这一技术可以建立先进、安全和跨平台的动态网站。所以我们需要安装Java开发工具集(JDK)和Tomcat(网站服务器)。它们之间的关系如图1所示。
图1 开发环境结构
2.2 系统模块分析
系统模块包括用户登陆注册模块、邮件发送模块(这是系统的核心内容,也是系统的主要功能,注册用户登陆后,就要使用系统发送邮件的功能发送邮件。这部分的主要任务是将用户填写的文本内容和选择的附件文件合成为邮件,并通过代理邮件服务器发送出去。此模块的主要任务是邮件的合成与发送,重点是将邮件附件有客户端上传到服务器。然后再利用此附加文件合成邮件并通过邮件服务器发送出去)、 浏览模块、数据库模块(毋庸置疑,数据库在每个系统之都起着举足轻重的作用,系统数据的存贮有此模块完成。在本系统中用到的数据库服务器是Mysql,Mysq可谓是一个功能强大的数据库服务器。本系统数据的设计相对较为简单,在设计方面只有一张用户表,用来存储用户的信息)。
在本系统的各个模块中,最重要的是在邮件发送模块实现文件的上传功能,把本地的文件上传到服务器后服务器才能生成邮件。另外,在浏览模块中用了JSP标签,JSP标签在Java Web开发中是很常用的技术。在本系统里得到了应用。
2.3 系统结构分析
系统采用3层架构模式,web层(用来显示)、业务层(用来完成业务处理,与数据库交互,完成数据的存取)、数据层(数据库完成数据的存取)。
本系统关键技术使用了J2EE,J2EE是一个开放的、基于标准的开发和部署的平台,用于构建N层的、基于Web的、以服务端计算为核心的、模块化的企业应用。J2EE同时也是所有兼容J2EE标准的应用服务器产品的统一标识。
本系统设计是采用MVC模式,在开发一个软件之前,必须先设计好其框架,一个基本的架构思想是将软件分成不同的模块,问题的关键是如何划分模块。MVC(模型-试图-控制器)是20世纪80年代为Smalltalk-80编程语言发明的一种软件设计模式,它是一种分离业务逻辑与显示界面的设计方法。MVC的模型(Model)部分用来挂历程序的业务数据,视图(View)部分负责显示界面,控制器(Controller)部分则负责与用户进行交互(接受请求和选择响应视图)。
4 结束语
Java邮件发送系统是一个以计算机为工具,通过Internet发送邮件的系统。实际上目前在Internet上已经有许多网站免费的电子邮件发送。本系统主要是模仿它们的功能来实现的。基本上实现了电子邮件的发送以及发送附件的功能。通过此系统用户可以轻松的发送电子邮件,从免去了发送普通邮件带来的不便。
本系统虽然实现了一些功能,但是由于个人能力以及时间限制,不足之处还有很多。系统的功能还不完善,目前只是完成了一些经常使用的功能设计,并且是使用别人的邮件服务器。此外,由于经验不足,系统的稳定性,安全性等都没有进行测试,这些都有待于在以后的学习中去完善。
[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)。