基于JavaMail的电子邮件系统的设计与实现Word文档格式.docx
- 文档编号:726269
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:49
- 大小:1,020.67KB
基于JavaMail的电子邮件系统的设计与实现Word文档格式.docx
《基于JavaMail的电子邮件系统的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于JavaMail的电子邮件系统的设计与实现Word文档格式.docx(49页珍藏版)》请在冰点文库上搜索。
目录
1绪论 1
1.1课题研发背景 1
1.2选题的意义 1
1.3发展现状 1
1.4本文结构安排 2
2技术与工具介绍 3
2.1框架简介 3
2.2开发工具简介 4
2.3电子邮件简介 6
2.4小结 7
3需求分析 8
3.1实际业务操作流程 8
3.2系统设计的目标 8
3.3系统需求分析 9
3.3.1功能需求分析 9
3.3.2性能需求分析 10
3.3.3数据库需求分析 11
3.4小结 11
4总体设计 12
4.1数据库的设计 12
4.1.1概念结构设计 12
4.1.2逻辑结构设计 13
4.2小结 15
5详细设计与实现 16
5.1系统体系结构设计 16
5.2系统模块设计 17
5.2.1用户登录邮件系统设计 17
5.2.2注册新用户信息的设计 18
5.2.3用户找回密码信息设计 18
5.2.4用户发送电子邮件设计 20
5.2.5用户查看电子邮件设计 21
5.3系统模块的实现 22
5.3.1用户登录邮件系统的实现 22
5.3.2注册新用户的实现 23
5.3.3用户找回密码的实现 24
5.3.4用户发送电子邮件的实现 26
5.3.5用户查看电子邮件的实现 27
5.4小结 28
6测试 29
6.1测试环境 29
6.2功能测试 29
6.3用户界面测试 30
6.4单元测试 31
6.5小结 31
7结束语 32
7.1总结 32
7.2展望 32
附 录 33
参考文献 38
致谢 39
1绪论
1.1课题研发背景
电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。
它是全球多种网络上使用最普遍的一项服务。
这种非交互式的通信,加速了信息的交流及数据传送。
通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。
到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。
与传统的信件相比,电子邮件更具有传统信件没有的优势,传统的邮件受到时间、地点等各种限制,而电子邮件却不受这些限制。
正是由于电子邮件的使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变。
另外,电子邮件还可以进行一对多的邮件传递,同一邮件可以一次发送给许多人。
最重要的是,电子邮件是整个网络间以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人之间的通信需求。
现在随着互联网和计算机的普及[1],电子邮件将会成为人们越来越受欢迎的交流方式。
1.2选题的意义
当今流行的邮件系统如LotusNotes和Exchange是非常强大的商业软件[2]。
但这些系统包含的协作功能和每客户端得许可证费用使它们的整体成本急剧上升。
而事实上,很多使用这些系统的公司仅仅需要其中的邮件服务器基本功能,因此对于这些企业来说花重金来购买这些邮件系统还不如花少量的钱去重新开发一款功能简单的邮件系统。
所以开发一款简单易用的,使用户容易上手的电子邮件系统是非常有必要的。
对于大型的企业来说开发一种简单易用的具有电子邮件基本功能的电子邮件系统,不仅能够提高企业的生产效率而且能够降低人与人之间的沟通成本,使企业能够更好的发展。
1.3发展现状
国内很多企事业单位都有自己的邮件服务系统,免费邮箱有163、新浪等。
用户对电子邮件安全性、可靠性及功能上的要求也在不断提高。
因此,电子邮件服务供应商必须提供更安全、更可靠、功能更丰富的服务才能发展业务、吸引用户,从众多竞争者中脱颖而出。
如
45
何构建高效、稳定、安全、易用可扩展功能丰富的电子邮件系统是众多电信运营商、 ISP
(InternetServiceProvider)、ICP(InternetContentProvider)共同面临的问题。
邮件服务器供应商致力于以下几个方面提高邮件服务器。
1.增加多用户模板的功能,以满足不同用户对界面的不同喜好:
如提供多种邮件
webmail页面风格,提供个性化模板和多风格信纸,用户可以定义邮箱系统界面等。
2.增加防病毒模块,以增加E-mail系统整体的安全性,利用邮件加密和邮件签名等方式进行邮件传送。
在服务器端使用防病毒模块。
将电子邮件系统向统一信息系统发展,加入最新资讯,多媒体等功能。
反垃圾邮件为用户提供发垃圾邮件的多种过滤器,充分保证用户收到最低限度的垃圾邮件骚扰。
1.4本文结构安排
为了使您在短时间内了解本论文,介绍论文内容如下:
第1章主要介绍:
论文的课题研发背景、选题的意义、发展现状及论文的结构安排。
第2章主要介绍:
本次设计采用的技术、开发工具等。
第3章主要介绍:
邮件系统实际业务流程、功能需求、性能需求、数据库需求以及系统设计的目标。
第4章主要介绍:
数据库的设计与实现。
第5章主要介绍:
系统核心功能模块设计及实现。
第6章主要介绍:
系统测试环境、功能测试、用户界面测试以及单元测试。
第7章主要介绍:
本次毕业设计的总结及展望。
2技术与工具介绍
本部分主要介绍开发系统所采用的一些技术以及开发工具,包括采用的J2EE框架技术
Struts2、Spring、Hibernate、James邮件服务器等的简单介绍。
2.1框架简介
1.Struts2简介
Struts2:
Struts2是由WebWork和Struts1共同衍生出的一个JavaEE框架。
Struts2吸收了
WebWork和Struts1的长处,也处理了二者的一些不足之处,相对于Struts1,Struts2去掉了
ActionForm[3],降低了框架之间的耦合性,Struts2的Action只是普通的java类(pojo),给模块测试带来了极大的方便。
Struts2框架的处理流程如图2-1所示。
图2-1Struts2框架处理流程
通过上面对Struts2体系结构的了解,我们发现Struts2对Struts1进行了巨大的改进。
主要表现在如下几个方面[4]:
(1)Interceptor做一些拦截或初始的工作
当外部的httpservletrequest到来时初始到了servlet容器,传递给一个标准的过滤器链Other
filters。
(2)调用FilterDispatecher会去查找相应的ActionMapper如果找到了相应的ActionMapper它会将控制权限交给ActionProxy,ActionProxy将会通过ConfigurationManager来查找配置
struts.xml。
(3)通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Intercepror框架在调用action之前)一旦action返回,会查找相应的Result,Result类型可以使jsp或者freeMark等。
(4)这些组件和ActionMapper一起返回给请求的url,响应的返回是通过在web.xml中配置的过滤器。
2.Spring简介
Spring框架技术实际上是RodJohnson在ExpertOne-on-OneJ2EEDesignand
Development一书中所阐述的设计思想的具体实现[5]。
Spring框架为J2EE平台的开发者提供的是一种“对象管理”技术,也就是为开发者解决包括对象的生命周期、对象之间的依赖关系建立、对象的缓存实现等方面问题的管理技术[6]。
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。
框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。
Spring的核心要点是:
支持不绑定到特定J2EE服务的可重用业务和数据访问对象。
毫无疑问,这样的对象可以在不同J2EE环境(Web或EJB)、独立应用程序、测试环境之间重用。
3.Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库[7]。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
2.2开发工具简介
1.MyEclipse
MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合。
MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对
EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
2.MySQL数据库
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器[8]。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置的软件中去。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,Sun又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
4.James邮件服务器简介
JavaApache邮件服务器一般是指Apache组织开发的James[10],它是一个轻便的、安全的100%纯Java实现的邮件服务器。
不仅如此James还可以提供更多的功能,感谢James给我们提供了插件化协议架构和Mailet底层构造,它可以让我们利用Web服务器的servlets处理邮件。
Email服务到处都是,开始是DARPA(国防部高级研究计划局)的一个计划并最终发展为Internet,但是James成为了打破这一传统规则的第一个应用。
TheJavaApache企业邮件服务器(a.k.a.ApacheJames)是一个100%用Java实现的SMTP和POP3邮件服务器,同时,他还实现了NNTP新闻服务器的功能。
James被设计成一个完整的、可移植的企业邮件引擎解决方案,他完全基于目前可用的开放性协议。
James还是一个邮件应用平台。
Apache组织提供了一套JavaAPI-mailetAPI,利用MailetAPI,可以根据自己的需要用Java语言编写代码来对邮件进行个性化的处理。
Mailet可以生成一个自动回复,更新数据库,阻止垃圾邮件,建立消息档案,或者任何我们能想像的到的功能。
与Mailet密切相关的是消息适配器(Matcher),一个消息适配器可以判断Mailet是否要对服务器中的一个邮件进行处理。
James被设计为实现几个确定的目标。
比如它完全使用Java开发以便适应最大的轻便行;
它提供了很多安全特性用于保护服务器的运行环境安全还提供了安全服务。
James是多线程的,它使用了很多Avalon架构提供的功能。
James提供了完善的服务,包括一个完全可以运行的Email服务器。
这些服务主要是有
Macther和MailetAPI实现的,这两个API提供了Email检查和处理功能。
James支持标准的
email协议(SMTP,POP3,IMAP),另外还提供了一些附加功能,它使用了松散耦合的插件设计方式使消息框架从协议中抽象出来。
这种设计方式非常有用,使我们可以把James当作一个通常的消息服务器或者为即时消息传输提供支持。
James一个更重要的设计目标是提出了Mailet概念,Mailet提供了一个开发邮件应用程序的完整生命周期。
当然你也可以在这里使用其他MTA(邮件传输代理),比如SendMail,要这样作的话我们需要提供一个可调用的程序然后将数据传送给它来完成工作,不过,James提供了一套更简单、通用的API来完成这些工作。
2.3电子邮件简介
电子邮件,它是—种用电子手段提供信息交换的通信方式。
这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。
通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。
邮件服务器按通讯协议可以划分为以下两种类型:
SMTP服务器:
用于替用户发送邮件和接收外面发送给本地用户的邮件,它相当于现实生活中邮件的邮件接收部门(可接收普通用户投递的邮件以及其它邮局投递过来的邮件)。
POP3/IMAP服务器:
用于帮助用户读取SMTP服务器接收进来的该用户的邮件。
当前常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。
下面分别对其进行简单介绍。
1.SMTP协议:
SMTP的全称是SimpleMailTransferProtocol,即简单邮件传输协议。
目标是向用户提供高效、可靠的邮件传输。
SMTP的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。
工作在两种情况下:
一是电子邮件从客户机传输到服务器;
二是从某一个服务器传输到另一个服务器。
2.POP3协议:
POP的全称是PostOfficeProtocol,即邮局协议,用于电子邮件的接收,它使用TCP的110端口,现在常用的是第三版,所以简称为POP3。
POP邮局协议负责从邮件服务器中检索电子邮件。
它要求邮件服务器完成下面几种任务之一:
从邮件服务器中检索邮件并从服务器中删除这个邮件;
从邮件服务器中检索邮件但不删除它;
不检索邮件,只是询问是否有新邮件到达。
3.IMAP4协议:
IMAP的全称是InternetMessageAccessProtocol,顾名思义,主要提供的是通过Internet获取信息的一种协议。
IMAP像POP那样提供了方便的邮件下载服务,让用户能进行离线阅读,但IMAP能完成的却远远不只这些。
IMAP提供的摘要浏览功能可以让用户在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。
Internet上传送电子邮件是通过一套称为邮件服务器的程序进行硬件管理并储存的。
与个人计算机不同,这些邮件服务器及其程序必须每天24小时不停地运行,否则就不能收发邮件了,简单邮件传输协议SMTP(SimpleMailTransferProtocol)和邮局协议POP(PostOffice
Protocol)是负责用客户机/服务器模式发送和检索电子邮件的协议。
用户计算机上运行的电子邮件客户机程序请求邮件服务器进行邮件传输,邮件服务器采用简单邮件传输协议标准。
很多邮件传输工具,如outlookexpress、foxmail等,都遵守SMTP标准并用这个协议向邮件服务器发送邮件[12]。
SMTP协议规定了邮件信息的具体格式和邮件的管理方式。
电子邮件的工作原理如图2-4所示。
Outlook
POP3
SMTP
服务器
邮件存储空间
邮件服务器对接
SMTP服务器
邮件服务器A
邮件服务器B
图2-4电子邮件工作原理
2.4小结
本章主要介绍了本系统开发中所用的一些技术,为系统的编写打下了坚实的基础。
然后介绍了开发系统的各种工具,为搭建好开发系统的环境做了准备。
3需求分析
用户需求分析是整个设计制作的起点,它是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。
在确定系统的总体结构方案过程中,需要确定应用程序的结构、系统开发环境、系统测试环境和运行环境以及系统的功能模块。
在用户需求调研结束之后,应立即进行用户需求分析。
需求分析的结果反映了用户的时间需求,它将影响到设计的合理性和实用性。
开发软件计划的提出与软件消亡之间的过程中我们称之为软件的生存周期。
软件生存周期是根据软件所处的状态、特征以及软件开发活动的目的、任务可以划分若干阶段,从这一思想出发,软件生存周期包括软件定义,软件开发、软件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JavaMail 电子邮件 系统 设计 实现