基于JavaMail的电子邮件系统的设计与实现.doc
《基于JavaMail的电子邮件系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于JavaMail的电子邮件系统的设计与实现.doc(43页珍藏版)》请在沃文网上搜索。
1、XXX本科毕业设计 摘 要在过去的几十年里,人们主要通过书信与相隔较远的人相互交流情感与思想。而当今世界人们更多的是使用电子邮件,与传统的书信相比,电子邮件具有使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻等优点。本文设计并实现了一套邮件系统。首先研究了与系统相关的技术,其次分析了系统功能、性能和数据的需求,设计了系统构架、系统功能和数据库,并实现了系统的主要功能。本文的系统构架是基于浏览器/服务器的三层架构,使用Java和S2SH框架开发而成。在数据存储上使用了免费、开源、跨平台的MySQL数据库,邮件服务器使用了免费、开源的支持SMAP协议发送电子邮件和IMAP协议接收电子邮件的Ap
2、ache James邮件服务器。通过系统设计的用户注册和登陆、用户信息管理、邮件管理等模块,对邮件系统进行实现。本系统具有功能丰富、结构清晰、运行效率高、数据访问效率高等优异性能,后期易于维护,可扩展性行比较好。本系统还存在以下几个方面的工作尚需完善,即增加联系人管理模块,增强系统的稳定性,增强系统的安全性。 关键词:电子邮件,James邮件服务器,MySQL,Java,S2SHMail System Design and ImplementationAbstractIn the past few decades, people mainly exchange ideas with each
3、other by letters.But today people are communicating with each other via e-mail, compared with the letter, e-mail correspondence with easy to use, fast delivery, low-cost, easy to store, the worlds smooth and so on. This article has designed and implemented a mail system. First , study technologies r
4、elated to the system. Then , analyses the system functions, performance and the data requirements, and also design the system architecture, system functions and database, and finally the main functions of the system come into shap . The system architecture is developed basing on a three-tier browser
5、 / server architecture, using Java and S2SH framework. The Data storage take use of free, open-source, cross-platform MySQL database. The mail server use the free, open-source Apache James mail server that supports SMAP protocol to send e-mails and the IMAP protocol to receive e-mails. Develop the E
6、-mail system by different module of the system design, including user registration and login, the user information management, mail management.This system has the feature-rich, clear structure, high efficiency, excellent performance of high efficiency of data access, and it is not only easy to maint
7、ain in latter stages but also outstanding in its scalable sexual activity.There still exists problems that need farther perfection in The system from following aspects, like increasing the contact management module, enhancing the stability and security of the system.Keywords: E-mail, James mail serv
8、er, MySQL, Java, S2SH目 录1 绪论11.1 课题研发背景11.2 选题的意义11.3 发展现状11.4 本文结构安排22 技术与工具介绍32.1 框架简介32.2 开发工具简介42.3 电子邮件简介62.4 小结73 需求分析83.1 实际业务操作流程83.2 系统设计的目标83.3 系统需求分析93.3.1 功能需求分析93.3.2 性能需求分析103.3.3 数据库需求分析113.4小结114 总体设计124.1 数据库的设计124.1.1 概念结构设计124.1.2 逻辑结构设计134.2 小结145 详细设计与实现155.1 系统体系结构设计155.2 系统模块设
9、计165.2.1 用户登录邮件系统设计165.2.2 注册新用户信息的设计175.2.3 用户找回密码信息设计175.2.4 用户发送电子邮件设计195.2.5 用户查看电子邮件设计205.3 系统模块的实现215.3.1 用户登录邮件系统的实现215.3.2 注册新用户的实现225.3.3 用户找回密码的实现235.3.4 用户发送电子邮件的实现255.3.5 用户查看电子邮件的实现265.4 小结276 测试286.1 测试环境286.2 功能测试286.3 用户界面测试296.4 单元测试306.5 小结307 结束语317.1总结317.2展望31附 录32参考文献37致 谢381 绪
10、论1.1 课题研发背景电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。与传统的信件相比,电子邮件更具有传统信件没有的优势,传统的邮件受到时间、地点等各种限制,而电子邮件却不受这些限制。正是由于电子邮件的使用简易、投递
11、迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变。另外,电子邮件还可以进行一对多的邮件传递,同一邮件可以一次发送给许多人。最重要的是,电子邮件是整个网络间以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人之间的通信需求。现在随着互联网和计算机的普及1,电子邮件将会成为人们越来越受欢迎的交流方式。1.2 选题的意义当今流行的邮件系统如 Lotus Notes和Exchange 是非常强大的商业软件2。但这些系统包含的协作功能和每客户端得许可证费用使它们的整体成本急剧上升。而事实
12、上,很多使用这些系统的公司仅仅需要其中的邮件服务器基本功能,因此对于这些企业来说花重金来购买这些邮件系统还不如花少量的钱去重新开发一款功能简单的邮件系统。所以开发一款简单易用的,使用户容易上手的电子邮件系统是非常有必要的。对于大型的企业来说开发一种简单易用的具有电子邮件基本功能的电子邮件系统,不仅能够提高企业的生产效率而且能够降低人与人之间的沟通成本,使企业能够更好的发展。1.3 发展现状国内很多企事业单位都有自己的邮件服务系统,免费邮箱有163、新浪等。用户对电子邮件安全性、可靠性及功能上的要求也在不断提高。因此,电子邮件服务供应商必须提供更安全、更可靠、功能更丰富的服务才能发展业务、吸引用
13、户,从众多竞争者中脱颖而出。如何构建高效、稳定、安全、易用可扩展功能丰富的电子邮件系统是众多电信运营商、ISP(Internet Service Provider)、ICP(Internet Content Provider)共同面临的问题。邮件服务器供应商致力于以下几个方面提高邮件服务器。1. 增加多用户模板的功能,以满足不同用户对界面的不同喜好:如提供多种邮件webmail页面风格,提供个性化模板和多风格信纸,用户可以定义邮箱系统界面等。2. 增加防病毒模块,以增加E-mail系统整体的安全性,利用邮件加密和邮件签名等方式进行邮件传送。在服务器端使用防病毒模块。将电子邮件系统向统一信息系统
14、发展,加入最新资讯,多媒体等功能。反垃圾邮件为用户提供发垃圾邮件的多种过滤器,充分保证用户收到最低限度的垃圾邮件骚扰。1.4 本文结构安排为了使您在短时间内了解本论文,介绍论文内容如下:第1章主要介绍:论文的课题研发背景、选题的意义、发展现状及论文的结构安排。第2章主要介绍:本次设计采用的技术、开发工具等。第3章主要介绍:邮件系统实际业务流程、功能需求、性能需求、数据库需求以及系统设计的目标。第4章主要介绍:数据库的设计与实现。第5章主要介绍:系统核心功能模块设计及实现。 第6章主要介绍:系统测试环境、功能测试、用户界面测试以及单元测试。第7章主要介绍:本次毕业设计的总结及展望。2 技术与工具
15、介绍本部分主要介绍开发系统所采用的一些技术以及开发工具,包括采用的J2EE框架技术Struts2、Spring、Hibernate、James邮件服务器等的简单介绍。2.1 框架简介1. Struts2简介Struts2:Struts2是由WebWork和Struts1共同衍生出的一个JavaEE框架。Struts2吸收了 WebWork和Struts1的长处,也处理了二者的一些不足之处,相对于Struts1,Struts2去掉了ActionForm3,降低了框架之间的耦合性,Struts2的Action只是普通的java类(pojo),给模块测试带来了极大的方便。Struts2框架的处理流程
16、如图2-1所示。图2-1 Struts2框架处理流程通过上面对Struts2体系结构的了解,我们发现Struts2对Struts1进行了巨大的改进。主要表现在如下几个方面4:(1)Interceptor做一些拦截或初始的工作当外部的httpservletrequest到来时初始到了servlet容器,传递给一个标准的过滤器链Other filters。(2)调用FilterDispatecher会去查找相应的ActionMapper如果找到了相应的ActionMapper它会将控制权限交给ActionProxy,ActionProxy将会通过ConfigurationManager来查找配置s
17、truts.xml。(3)通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Intercepror框架在调用action之前)一旦action返回,会查找相应的Result,Result类型可以使jsp或者freeMark等。(4)这些组件和ActionMapper一起返回给请求的url,响应的返回是通过在web.xml中配置的过滤器。2. Spring简介Spring框架技术实际上是Rod Johnson在Expert One-on-One J2EE Design and Development一书中所阐述的设计思想的具体实现5。Spring框架为J2EE平台的开发者
18、提供的是一种“对象管理”技术,也就是为开发者解决包括对象的生命周期、对象之间的依赖关系建立、对象的缓存实现等方面问题的管理技术6。Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。
19、3. Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库7。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。2.2 开发工具简介1. MyEclipseMyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合。MyEclipse的功能非常强大,支持也
20、十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。2. MySQL数据库MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器8。MySQL服务器支持关
21、键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置的软件中去。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,Sun又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择
22、了MySQL作为网站数据库。4. James邮件服务器简介Java Apache邮件服务器一般是指Apache组织开发的James10,它是一个轻便的、安全的100%纯Java实现的邮件服务器。不仅如此James还可以提供更多的功能,感谢James给我们提供了插件化协议架构和Mailet底层构造,它可以让我们利用Web服务器的servlets处理邮件。Email服务到处都是,开始是DARPA(国防部高级研究计划局)的一个计划并最终发展为Internet,但是James成为了打破这一传统规则的第一个应用。The Java Apache 企业邮件服务器(a.k.a. Apache James)是一
23、个100%用Java实现的SMTP和POP3邮件服务器,同时,他还实现了NNTP新闻服务器的功能。James被设计成一个完整的、可移植的企业邮件引擎解决方案,他完全基于目前可用的开放性协议。James还是一个邮件应用平台。Apache组织提供了一套Java APImailet API,利用Mailet API,可以根据自己的需要用Java语言编写代码来对邮件进行个性化的处理。Mailet可以生成一个自动回复,更新数据库,阻止垃圾邮件,建立消息档案,或者任何我们能想像的到的功能。与Mailet密切相关的是消息适配器(Matcher),一个消息适配器可以判断Mailet是否要对服务器中的一个邮件进
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JavaMail 电子邮件 系统 设计 实现