基于jspjava邮件服务器系统的设计和开发Word文档下载推荐.docx
《基于jspjava邮件服务器系统的设计和开发Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于jspjava邮件服务器系统的设计和开发Word文档下载推荐.docx(79页珍藏版)》请在冰点文库上搜索。
sdevelopmentaspect.Hascarriedontheanalysisandtheresearchtoperformancehistory'
sdifficulty,andthroughthesystemstructuredrawing,thefunctionalmodulechart,theconfigurationfiles,waysandsoondatadictionarydescribesvividly.servestheplatformbasedontheWebtechnology'
smailthedevelopmentmainlytoincludeserver'
sinstallmentdisposition,theuserinformationdatabaseestablishment,theuservisitcontactsurfaceproceduredevelopmentthreeaspects.Needsthestabilitywellregardingtheserver,safereliable,loadcapacity,needssafelyreliable,dataintegrityregardingthedatabase.Butshouldhaveregardingtheuserinterfacecancomprehensive,characteristicsandsoonfriendlyYiYong.
Aftertheanalysis,IuseWindowsXPandSQLServer2000takethe
backstagedatabase,usesJSP,Java,HTMListheuserinterfacedevelopmentkit,usesJavaMailAPIisthemaildisposalprocedureapplicationconnection.AndhasusedpresentpopularJavatheServlettechnology,hasguaranteedtheuserinterfaceproceduregoodextendibility
andthemaintainability.Theusermayglanceover,theexaminationmailinformation,mayregister,landthemailbox,thenreceivinganddispatchingmail,butmayalsodeletethemail,uploaddocumentandsoon.Thesystemafterthetest,themovementeffectisstable,easeofoperation,quickly.Cangoodforthissystem'
smailreceivinganddispatching,theusermailsupervisoryservice.
Keyword:
BasedontheWebtechnology,themailservestheplatform,theserver,theuserinformationdatabase,JavatheServlettechnology,JavaMailAPI
电子邮件概述
1.1电子邮件系统简介
从人类社会生产开始,信息交流就一直是人类的基本需求之一。
从最早的口耳相传到现代的邮政系统和电话电报,随着技术进步,
人类信息交流的手段也一直在不断进步。
计算机和网络技术出现之后,将他们应用到信息交流中,以建立更加快捷方便的信息交流手段,也就是顺理成章的事情了。
电子邮件技术正式伴随这网络和计算机技术的发展而不断成熟和发展起来的。
电子邮件是—种用电子手段提供信息交换的通信方式。
在互联网上,它是应用最广的服务。
电子邮件系统则是具有处理电子邮件功能的系统。
通过网络的电子邮件系统,用户可以免费地,非常快的(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联系。
电子邮件可以是文字、图象、声音等各种方式。
同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。
这是任何传统的方式也无法相比的。
1.2电子邮件系统发展简史
让我们来看看早起的电子邮件系统。
与一般人想象的不同,其实最早的电子邮件系统早在网络形成就已经出现了。
1961年的时候,麻省理工学院在7094大型机系统上开发出了一套兼容时分共享系统
(CTSS)。
这一允许许多用户同事鞥路和使用主机的新能力,使用户可以用新的方法来共享信息。
当CTSS系统的用户需要向其他用户传递信息时,他们会在一个通用的目录下以“TO TOM”之类的文件名简历一个文件,查看或者打印其中的内容。
在这种简单的信息发送方法的基础上,出现里第一个“邮件”工具,通过这个工具,CTSS系统的管理员可以向用户发送信息,例如同志某个用户他丢失的文件已经通过备份找回。
这是通过在目录用户中创建特定的文件来实现的。
这以后,CTSS系统上也出现了用于用户之间信息传递的邮件工具。
在其他的多用户系统上,也陆续开发和使用了类似的邮件软件。
这些软件的工作原理类似,都是在用户目录下设置一个特殊的目录,一个用户给另一个用户发信时,就在收信者的牡蛎下建立一个新的文件,并在其中保存新建的内容。
当收信者稍后登陆的主机上时,检查该目录就可以知道自己有新的邮件,并可以打开和查看邮件内容。
这些早期的邮件系统虽然非常简陋,也存在很多问题,但是其基本思想都是通过文件的传递来实现用户之间的异步传输,和今天所用的电子邮件系统基本相同。
现代电子邮件系统正式在这些原始的邮件软件基础上发展而来的。
到了20世纪60年代末70年代初,在美国国防部领导下,现代
INTERNET 的前身-----ARPANET开始建立和运行,它将成员单位的多台主机连接起来组成了一个打的网络。
当时,网络内的大部分主机上都已经有了内部的邮件系统,于是一个很自然的想法出现了,就是能否利用ARPANET使这些邮件系统能够相互通信?
事实上,邮件系统的互联正式ARPANETA最早期的网络应用尝试之一。
1969年,在ARPANET原型网还在试验的时候,拉里罗伯特编写了第一个通过网络发送电子邮件的程序。
1971年1月,ARPARFC196《邮箱协议(MailBoxProtocol)》中讨论了如何通过ARPANET 发送邮件的问题。
之后有多个类似的
RFC文件进行了这个方面的探讨。
由于当时FTP协议已经比较成熟,而邮件发送一直没有成熟的协议,所以一些人开始研究利用FTP协议来发送邮件的方法。
1972年8月,在RCF385《关于FTP协议的注释》中第一次提出通过扩
展FTP协议的方法来发送电子邮件。
之后的一些RFC文件进一步对该方案进行了改进。
在1973年一次会议上,大家统一在FTP命令中使用“用户名@主机名”形式的地址来标明邮件地址,这被写入了RFC469文件。
RFC498则提出了不用FTP协议进行邮件传输的方法。
这些方案由于各种原因都未能得到推广使用,ARPANET上的邮件系统一直处于各自为政的状态。
除了邮件收发的问题外,邮件格式也是电子邮件协议中的一个重要内容。
1977年,洛克等人提出来一个统一的邮件格式标准,也就
是后来的RFC733.但是这次统一邮件格式标准的尝试并未能获得成功。
这便是早起ARPNET上的电子邮件系统。
早起的各种基于网络的电子邮件传输协议都存在这样那样的问题。
要么功能不完善,要么过于复杂。
人们需要的是一个全新的,易于
实现而有功能强大的电子邮件传输协议。
1980年,RFC772《邮件传输协议》发布了,其中描述了一个全新的邮件传输协议。
但是这个协议还是过于复杂了,于是人们在它的基础上又进行了改进,纵欲在1981年的RFC780中发布了简单邮件传输协议,经过一些晓得改进后,最总形成了RFC821《SMTP协议》,这也正是今天的电子邮件系统的标准传输协议。
统一的邮件传输协议自然需要统一的邮件格式,1982年,克鲁克在RFC733的基础上编写RFC822《APRAInternet文本信息格式标准》,他也最终成为电子邮件的标准格式。
但是在RFC822格式中,邮件都是文本格式的,没有考虑非文本的邮件内容问题。
很快人们就对电子邮件提出更多的要求,希望能用它来发送非文本格式的附件,如图片,多媒体文件等。
于是在1996年又发布了RFC2045—2049,规定了MIME编码格式。
通过这种格式,可以实现各种文件和文本信息之间的无损转换,这样就可以将他们封装在标准RFC822格式的文本邮件中直接发送,从而使电子邮件系统也可以发送非文本的信息了。
后来,人们根据邮件系统中使用的问题,又陆续对SMTP协议以及其父树协议进行了一些小的修改,如增加用户身份认证功能等。
到目前为止,SMTP协议的最新版本是RFC2821,邮件格式规范的最新版本是RFC2822。
这便是现代电子邮件系统的出现。
但是现代的邮件系统仍然存在着许多缺陷。
比如说,SMTP协议缺乏服务器之间的身份认证机制。
SMTP协议完全依赖HELO或
EHLO信息来获取服务器的域名身份信息,没有任何的手段来对这些信息进行核实,也就是根本无法保证这些信息的可靠性和真实性,也就很难对邮件头低的真实路径进行追查。
SMTP协议是基于文本的,没有任何的加密和校验措施。
这也就意味着SMTP通信本身非常容易被窃听,劫持甚至伪造,而且这种伪造几乎是没有什么成本的。
除了上述缺陷以外,邮件投递的过程中的开放式转发是一个更为严重的安全缺陷。
在介绍电子邮件的投递过程中,曾经介绍过,为了提高电子邮件系统对网络故障的容错能力,SMTP协议规定电子邮件在投递时,如果寄信服务器无法直接投递给收信服务器,可以投递给第三方服务器,由第三方服务器尝试着投递给收信服务器。
由于在电子邮件的右箭头中只保存了投递路径上各服务器上的域名,而没有保存IP地址,加上域名信息是非常容易伪造的,因此经过中转之后的邮件很难追查其真实的源头地址。
近年来虽然大部分邮件系统软件开发者已经意识到了这个问题,并在新版本中增加了对中转的限制,但一方面由于很多实际运行的系统还在使用老版本得软件,另一方面,由于很多邮件系统管理员缺乏安全管理知识和意识,未能正确配置实用软件,导致目前还是有很多邮件系统依然工作在开放式转发模式下。
从以上分析中可以得出这样的结论,由于在电子邮件系统存在的种种缺陷,我们学要重新设计一种全新的,通盘考虑并彻底解决各种安全问题和隐患的电子邮件系统,并用它来代替现有的电子邮件系统。
但遗憾的是,由于各种现实的问题,在可预见的未来,这还是一个不可能实现的任务,无论如何,一个成功的或者试图成功的电子邮件系统,必须能够较好的解决这些问题。
1.3电子邮件系统的作用
作为企业单位,拥有自己的电子邮件系统可以方便管理,可以随时开启或关闭公司职员的E-mail信箱,给每个有必要的员工分配有自己网络通讯标识(域名)的Email地址,一方面可以增加企业形象宣传力度;
另一方面Email作为工作的工具或手段能为企业快速、高效的进行信息或数据的交换。
使用邮箱系统后,所有的信箱都是"
name@企业域名"
这种形式,从而可以树立统一的企业品牌形象。
一些意识超前的企业单位已开始注意用E-mail来塑造和提升自己的企业形象。
总的来说,对于企业单位,电子邮件系统的最主要的作用是两个:
一方便企业内部的管理,二可以宣传企业品牌形象。
1.4电子邮件系统的工作过程
电子邮件系统识别接收者的地址,并向管理该地址的邮件服务器
(POP3服务器)发送消息。
邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。
接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信
箱来查收邮件。
通常Internet上的个人用户不能直接接收电子邮件,而是通过申请ISP主机的一个电子信箱,由ISP主机负责电子邮件的接收。
一旦有用户的电子邮件到来,ISP主机就将邮件移到用户的电子信箱内,并通知用户有新邮件。
因此,当发送一条电子邮件给一另一个客户时,电子邮件首先从用户计算机发送到ISP主机,再到Internet,再到收件人的ISP主机,最后到收件人的个人计算机。
ISP主机起着“邮局”的作用,管理着众多用户的电子信箱。
每个用户的电子信箱实际上就是用户所申请的帐号名。
每个用户的电子邮件信箱都要占用ISP主机一定容量的硬盘空间,由于这一空间是有限的,因此用户要定期查收和阅读电子信箱中的邮件,以便腾出空间来接收新的邮件。
在发件服务器将邮件发送给收件人邮箱所在服务器这一步中,发见服务器会通过SMTP协议将邮件提交给收件服务器。
根据
SMTP协议的规定,如果发件服务器无法直接连接收件服务器,可以请求其他的邮件服务器帮助进行转发。
如果转发的邮件服务器也无法连接到收件服务器,也可以有其他服务器进一步转发,以此类推,知道邮件最终到达邮件服务器,或者由于转发时间过长或转发次数过多,系统自动判定收件服务器不可能抵达为止。
这种转发的方法固然增加了邮件系统的灵活性和对网络故障的容错能力,但也造成了严重的安全隐患。
特别是许多邮件服务器对转发邮件的来源不加限制,任何服务器都可以通过他来转发邮件,即所谓的开放式
转发。
由于在邮件头中只记录了域名信息,而没有IP地址信息,因此通过转发之后无法得知邮件初始发出的IP地址。
很多垃圾邮件制造者就利用这一点结合伪造域名信息来隐藏自己的实际发信地址。
邮件到达收件服务器后,收件服务器会按照系统和用户设置的规则对邮件进行处理。
例如,安装了反垃圾邮件系统的服务器首先会对邮件进行反垃圾邮件检查,通过检查的正常邮件才会被保存到用户邮箱中,再如,有些开通了短信通知的服务器会在保存邮件的同时,向用户手机发送邮件到达短信;
还有,263等web邮箱会按照用户设置的过滤规则对邮件进行相应处理。
随着技术的进步和用户对邮件功能需求的不断增加,越来越多的处理步骤也被增加到这一环节中,并且绝大多数的反垃圾邮件技术都是在这一环节中应用的。
从上面的介绍中可以看出来,邮件的整个投递过程是一个比较复杂的过程,中间涉及客户端和服务器,以及多个服务器之间的相互协作,最终才能完成整个邮件的投递。
特别是在服务器之间的投递环节中,可能会涉及多个服务期间的投递过程。
电子邮件系统分析
2.1电子邮件系统的需求分析用户对电子邮件系统的需求
(1)方便性。
电子邮件系统可以像使用留言电话一样,在自己方便的时候处理记录下来的请求,通过电子邮件可以方便地传送文本信息、图像文件、报表和计算机程序。
(2)广域性。
电子邮件系统具有开放性,许多非互联网络上的用户可以通过网关(Gateway)与互联网络上的用户交换电子邮件。
(3)快捷性。
电子邮件在传递过程中,若某个通信站点发现用户给出的收信人的电子邮件地址有错误而无法继续传递时,电子邮件会迅速地将原信件逐站退回,并通知不能送达的原因。
当信件送到目
的地的计算机后,该计算机的电子邮件系统就立即将它放人收信人的电子信箱中,等候用户自行读取。
用户只要随时以计算机联机方式打开自己的电子邮件信箱,便可以查阅自己的邮件。
(4)透明性。
电子邮件系统采用“存储转发”的方式为用户传递电子邮件,通过在互联网络的一些通信节点计算机上运行相应的软件,使这些计算机充当“邮局”的角色。
当用户希望通过互联网络给某人发送信件时,首先要与为自己提供电子邮件的计算机联机,然后把要发送的信件与收信人的电子邮件地址发给电子邮件系统。
电子邮件系统会自动地把用户的信件通过网络一站一站地送到目的地,整个过程对用户来说是透明的。
(5)廉价性。
互联网络的空间几乎是无限的,公司可以将不同详细程度的有关产品、服务的信息放在网络站点上,这时顾客不仅可以随时从网上获得这些信息,而且在网上存储、发送信息的费用都低于印刷、邮寄或电话的费用。
在公司与顾客“一对一”关系的电子邮件服务中,费用低廉,从而节约大量费用。
(6)全天候。
对顾客而言,电子邮件的优点之一是没有任何时间上的限制。
一天24小时,一年365天内,任何时间都可发送电子邮件。
比如,当顾客发生问题时,他们随时都可以把发生的问题发送给公司,而公司有关负责人可以在他方便的时候,查阅这些信件,决定哪些信件必须首先处理,哪些可以稍后处理,哪些应该转发给其他部门去承办。
而以前没有电子邮件时,顾客的产品本身或产品在使用过程中发生了问题,需要等到公司人员上班时,才能给公司打电
话。
而且什么时候打电话也很讲究,打早了,公司负责人还没有上班,打晚了公司负责人又可能出去开会了。
电子邮件的全天候服务,从根本上解决了这种状况,大大改善了公司与顾客的关系,改善了公司对顾客的服务。
2.2电子邮件系统的基本结构
一个邮件系统是由实现各种功能的服务器组成的功能集合。
电子邮件系统由两大部分组成,即用户代理UA和邮件传输代
理MDA。
用户代理UA又称人机界面,它是用户发送和接收电子邮件的操作台和工具,用于编辑、生成、发送、阅读和管理电子邮件。
用户对电子邮件系统的使用是通过用户代理程序完成的。
邮件传输代理MDA又称邮件服务器,主要负责邮件传送,将邮件从发送端传送到接收端,其作用相当于邮局。
邮件传输代理程序具有发送、接收和存储转发邮件的功能。
实现基于Web技术的邮件服务平台至少需要有以下几种服务器提供相应的服务功能:
邮件服务器。
这是电子邮件系统不可缺少的。
该服务器是实现邮件发送、接收、储存、转发的不要条件。
但是该服务器无法提供友好的访问界面。
用户虽然也可以直接访问邮件服务器,但要实现各种功能就需要记住大量复杂的命令。
所以友好的邮件系统还需要由
Web服务器来提供用户访问界面。
Web服务器。
该服务器为用户提供邮件系统的访问界面,用户在远程计算机通过浏览器访问邮件系统,通过Web服务所提供的界面实
现各种功能。
DNS服务器。
在电子邮件系统中还需要一种很重要的服务这就是
DNS域名解析服务。
在电子邮件系统中的域名解析服务并不是为用户访问提供域名解析,而是为邮件服务器与邮件服务器之间的访问提供正确的域名解析。
将以上3种服务器联系起来就可以构建一个最基本的电子邮件系统。
2.3构建邮件系统的准备工作
2.3.1编程语言和编程环境的选择
JSP是JavaServerPages的缩写,它是一种动态网页技术标准。
在传统HTML网页文件(*.htm,*.html)中加入Java程序片断
(Scriptlet)和JSP标记,就构成了JSP网页(*.jsp)。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片断,然后将执行结果以HTML格式返回给客户。
程序片断可以操作数据库、可以重定向网页、可以发送和接收电子邮件等动态网页所需要的功能。
所有的程序都在服务器段执行,在通过网络传送到客户端的仅是程序执行的结果,因此对客户端浏览器的要求很低。
JSP技术功能强大、使用灵活,为创建显示动态内容的Web网页提供了一个简洁而快速的方法。
JSP技术的设计目的是使编写基于
Web的应用程序更加容易和快捷的同时,保证这些应用程序能够与各种Web服务器、浏览器和开发工具共同工作。
所以我使用JSP作为我毕业设计的开发语言。
JSP对编程环境的要求不像其他语言那么苛刻,但是有个好的编程环境会让我们的工作事半功倍,我使用的编程环境是JBuilder9它可以很方便的建立工程、WebApplication、Package和Servlet,还能有效地对WebApplication进行部署。
在调试的时候由于JBuilder
9 内嵌的Tomcat和我们使用的Tomcat服务器会发生端口冲突。
所以在调试的时候我使用UltraEdit作为源代码的编辑器。
UltraEdit支持Java,JSP,HTML和JavaScript的高亮显示,可以给我的调试工作带来了很大的方便。
2.3.2服务器软件的选择
Tomcat是JavaServlet和JavaServerPages技术的标准实现,最初是基于Apache许可证下开发的自由软件用来给Apache提供解释
JSP的功能模块。
发展到现在Tomcat不仅仅是一个JSP解释器和
Servlet容器,它还具有了Web服务器的功能。
作为当今使用最广泛