建立基于Web技术的邮件服务平台说明书_第1页
建立基于Web技术的邮件服务平台说明书_第2页
建立基于Web技术的邮件服务平台说明书_第3页
建立基于Web技术的邮件服务平台说明书_第4页
建立基于Web技术的邮件服务平台说明书_第5页
已阅读5页,还剩75页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连民族学院计算机科学与工程系2004届毕业论文I建立基于WEB技术的邮件服务平台摘要本文讲述了一个基于WEB技术的邮件平台的开发过程。着重从服务器平台安装配置和用户界面的开发方面详细阐述了整个邮件平台开发的全过程。对开发过程中的难点进行了分析和研究,并通过系统结构图,功能模块图,配置文件,数据字典等方式形象地描述出来。基于WEB技术的邮件服务平台的开发主要包括服务器的安装配置,用户信息数据库的建立,用户访问界面程序的开发三个方面。对于服务器需要稳定性好、安全可靠,负载能力强,对于数据库需要安全可靠、数据完整性强。而对于用户界面应该具有能全面、友好易用等特点。经过分析,我使用WINDOWSXP作为WEB服务器,使用REDHATLINUX9作为DNS和邮件服务器,使用SQLSERVER2000作为后台数据库,使用JSP、JAVA、HTML为用户界面开发工具,使用JAVAMAILAPI为邮件处理程序的应用接口。并采用了目前流行的JAVASERVLET技术,保证了用户界面程序良好的可扩展性和可维护性。关键词基于WEB技术,邮件服务平台,服务器,用户信息数据库,JAVASERVLET技术,JAVAMAILAPI建立基于WEB技术的邮件服务平台李治坤IIBUILDAMAILSERVEPLATFORMTHATBASEONWEBTECHNIQUEABSTRACTTHISTEXTRELATEDADEVELOPMENTOFAMAILSERVEPLATFORMTHATBASEONTHEWEBTECHNIQUETEXTELABORATEDTHEWHOLEPROCESSTHATMAILPLATFORMDEVELOP,EMPHASIZEFROMTHEINSTALLATIONANDSETUPOFSERVERANDDEVELOPMENTOFTHECUSTOMINTERFACEWEHAVEANALYZEDANDSTUDIEDFORTHEDIFFICULTIESOFDEVELOPMENT,THENDESCRIBEDTHESEVIVIDLYTHROUGHTHETOOLSOFTHESYSTEMSTRUCTURE,FUNCTIONMODULE,CONFIGURATIONFILES,DATADICTIONARY,ETCTHEDEVELOPMENTOFMAILSERVEPLATFORMTHATBASEONWEBTECHNIQUEMAINLYINCLUDESTHETHREEASPECTSOFTHEINSTALLATIONANDSETUPOFTHESERVER,THECONSUMERINFORMATIONDATABASECREATESANDTHECUSTOMINTERFACEPROGRAMDEVELOPMENTWENEEDASTABILITYGOODSAFETYANDCAPABILITYSTRONGSERVER,WENEEDASAFETYANDCOMPLETEDATABASE,WENEEDAFRIENDLYANDUSEEASILYCUSTOMINTERFACEASARESULTOFANALYSIS,IUSEWINDOWSXPOFMICROSOFTCORPORATIONASTHEWEBSERVER,SELECTREDHATLINUX9ASTHEDNSANDMAILSERVER,USEJSP,JAVA,HTMLASDEVELOPMENTLANGUAGE,USEJAVAMAILAPIASMAILPROCESSINGINTERFACE,ANDADOPTJAVASERVLETTECHNIQUETOGUARANTEEDEXTENSIBILITYANDABILITYOFSUPPORTABLEKEYWORDSBASEONWEBTECHNIQUE,MAILSERVEPLATFORM,SERVER,CUSTOMINFORMATIONDATABASE,JAVASERVLETTECHNIQUE,JAVAMAILAPI大连民族学院计算机科学与工程系2004届毕业论文III目录引言1第一章电子邮件系统概述211电子邮件系统介绍2111电子邮件系统发展简史2112电子邮件系统的作用3113电子邮件系统发展的现状及存在的问题4第二章电子邮件系统分析521电子邮件系统的需求分析6211用户对电子邮件系统的需求622电子邮件系统的基本结构723构建邮件系统的准备工作7231操作系统和服务器软件的选择7232编程语言和编程环境的选择8233服务器软件的选择9234其它软件的选择9第三章系统的总体规划1031系统平台的规划1032邮件系统主要功能的设计11321登录、身份认证11322用户密码的修改和找回12323邮件的收发12324邮件的管理12325地址管理12建立基于WEB技术的邮件服务平台李治坤IV第四章系统的具体实现1341服务器平台的实现13411WEB服务器的安装配置13412DNS服务器的安装配置14413邮件服务器的安装配置1642数据库的实现18421数据库建立的目的18422数据库的设计1843用户界面的设计21431用户登录界面21432邮件列表界面21433邮件编辑界面22434邮件读取界面22435对附件的处理22436用户地址簿的处理23第五章结论和体会24致谢25参考文献26附录A程序源代码I附录B外文参考资料及译文I大连民族学院计算机科学与工程系2004届毕业论文1引言我的毕业设计的题目是基于WEB技术的邮件服务平台,秉着尽可能的将大学四年所学的所有知识融会贯通,全部展现出来让学校验收的原则我自选了这个题目。在开发的过程中我严格按照软件工程的开发流程,认真地进行调研、系统分析与设计、编码及测试工作。所开发的电子邮件平台无论在功能、性能、安全性方面,还是在用户界面的友好度上都能达到令人满意的结果。目前,电子邮件是互联网上使用最为广泛的功能,现已成为公司进行顾客服务的强大工具,成为网络用户之间快捷、简便、可靠且成本低廉的现代化通讯手段,也是互联网上使用最广泛、最受欢迎的服务之一。电子邮件是网络顾客服务双向互动的根源所在,它是现实公司与顾客对话的双向走廊和实现顾客整合的必要条件。目前互联网上60以上的活动都与电子邮件有关。所以掌握电子邮件的应用,学习构建电子邮件服务体系是十分有必要的。鉴于以上原因,我开发了这个基于WEB技术的邮件服务平台。目的是希望能为中小型企业提供一个企业内部的邮件服务的解决方案。内容主要包括有用户注册、用户身份认证、邮件收发、邮件读写、邮件管理等。本论文对该邮件服务平台从开始分析到实际开发完成作了详尽的叙述,第一章对邮件系统作了简单的介绍,第二章介绍了前期系统分析的内容,第三章介绍了系统的规划方案,第四章详细介绍了整个平台实现的过程,第五章是结论和开发过程中我的一些体会,最后是致谢和参考文献部分。建立基于WEB技术的邮件服务平台李治坤2第一章电子邮件系统概述电子邮件ELECTRONICMAIL也称为EMAIL,它是用户或用户组之间通过计算机网络收发信息的服务。目前,电子邮件是互联网上使用最为广泛的功能,现已成为公司进行顾客服务的强大工具,成为网络用户之间快捷、简便、可靠且成本低廉的现代化通讯手段,也是互联网上使用最广泛、最受欢迎的服务之一。电子邮件是网络顾客服务双向互动的根源所在,它是现实公司与顾客对话的双向走廊和实现顾客整合的必要条件。目前互联网上60以上的活动都与电子邮件有关。使用互联网提供的电子邮件服务,实际上并不一定需要直接与互联网联网,只要通过已与互联网联网并提供邮件服务的机构收发电子邮件即可。11电子邮件系统介绍111电子邮件系统发展简史电子邮件(ELECTRONICMAIL,EMAIL),是应用于INTERNET上的最广泛使用、最受欢迎的网络功能。电子邮件来源于专有电子邮件系统。早在INTERNET流行以前很久,电子邮件就已经存在了,是在主机多终端的主从式体系中从一台计算机终端向另一计算机终端传送文本信息的相对简单的方法而发展起来的。经历了漫长的过程之后,它现在已经演变成为一个更加复杂并丰富得多的系统,可以传送声音、图片、图像、文档等多媒体信息,以至于如数据库或账目报告等更加专业化的文件都可以电子邮件附件的形式在网上分发。现在,电子邮件已成为许多商家和组织机构的生命血脉。用户可以通过电子邮件的讨论会进行项目管理,并且有时要根据快速,或洲际的电子邮件信息交换进行重要的决策行动。但毫无疑问的是,INTERNET扩展了其应用的范围。过去只能在其局域大连民族学院计算机科学与工程系2004届毕业论文3网上进行交谈的公司现在可以通过网络与他们的客户、竞争伙伴和世界上的任何人进行通信和交流。一旦某个组织的电子邮件系统运行在支持TCP/IP协议的网络上或具有支持两个INTERNET邮件服务协议SMTP简单邮件传输协议和POP邮局协议之一的INTERNET网关,它的邮件用户就能够连接到任何具有相似连接的电子邮件地址上了,并且不论其电子邮件帐户在何处。112电子邮件系统的作用(1)利用电子邮件可与顾客建立主动的服务关系传统的顾客服务常常是被动的,顾客向公司提出问题后,公司再解决。而通过电子邮件,公司可实现主动的顾客服务,而不是被动的等待顾客要求服务。利用电子邮件进行主动的顾客服务有以下两个方面的内容一是主动向顾客提供公司的最新信息。公司的老顾客需要了解公司的最新动态,如公司新闻、产品促销、产品升级等。公司可将这些信息及时主动地以新闻信件的形式发送给需要这类信息的顾客。二是获得顾客需求的反馈,将其整合到公司的设计、生产、销售等营销组合系统中。要了解顾客的要求可以通过电子邮件直接向顾客询问,但是不宜设计包括很多问题的问卷。因为,这种问卷的回收率通常很低,网上冲浪者通常是不耐烦的,对比较长的问卷往往没有耐心填写完毕,所以要想让顾客回答你的咨询,最好每次只设计一个具体的问题。这个问题应简洁明了,易于阅读、易于回答,顾客只要用很短时间就能回答完毕。同时,因为每次只提一个问题,为了不浪费顾客的时间和精力,公司又要有所获得,所以,在设计需询问的问题时,要慎重考虑,使之直接作用于产品质量、服务等,取得更好的效果。(2)利用电子邮件传递商务单证为了规范电子商贸的过程和信息服务的方式,人们常常在公司商务站点中设置许多表格。通过表格在网络上的相互传递来达到商务单证交换的目的。在WEBSITE的设计过程中,表格是通过屏幕设计的结构和内容来完成的,而表格中所填写的内容则是通过电子邮件来传送的。以支持交易前的网络商务系统为例,经常用于网络站点的表格和单建立基于WEB技术的邮件服务平台李治坤4证有用户意见及产品需求调查卷产品购买者信息反馈及维修或保修信息反馈表对某种产品需求的意向、特殊要求、数量和要求给出价格的商品报价申请表初始产品的报价单定货单以及有奖问卷回执单等等。(3)利用电子邮件,还可进行其他访问的信息服务利用电子邮件除了可以进行正常的通信联系,与顾客建立主动的服务关系传递商务单证以外,还可访问的信息服务仅列出以下四种用电子邮件遨游万维网WWWWORLDWIDEWEB万维网是互联网络上最受欢迎、最为流行的信息检索服务程序。能把各种类型的信息静止图像、文本、声音和影像有机地集成起来,供用户阅读、查找。用电子邮件做GOPHER搜寻。GOPHER是一种整合式的信息查询服务系统,它可为使用者提供一个方便的操作界面。利用它可以用简单的选单方式MENU来获得所需要的文件资料、生活信息、文件存取、NEWS信件查询等各类资料。用电子邮件做文件传输服务FTPFILETRANSFERPROTOCOL。FTP是一种实时的联机服务。它的任务是将文件从一台计算机传送到另一台计算机,它不受这两台计算机所处的位置、连接的方式以及所采用的操作系统的约束。使用电子邮件做文件查询索引服务ARCHIE、WALS。ARCHIE在英文中是“工具”的意思,它是互联网络上用来查找满足特定条件的所有文档的自动搜索服务工具。ARCHIE系统的目的就是向互联网络用户提供有效的数据库,负责这些数据库的创建和维护。使用ARCHIE服务器有3种方法。113电子邮件系统发展的现状及存在的问题随着INTERNET的迅猛发展,电子邮件系统也在不断的完善。从最开始TELNET登陆服务器用命令编辑的方式发送纯文本格式的邮件,到现在通过浏览器登录发送图文兼备甚至是包含音频、视频的邮件。电子邮件一直在向更方便、更快捷、更安全、更人性化的方向发展着。不过伴随着邮件系统的发展也带来了不少的问题。发送邮件的方便使得一些不怀好意的人编写程序不断地向各个服务器发送邮件,导致垃圾邮件的泛滥。更有甚者利用邮件来传播电脑病毒,给全球的INTERNET用户带来了很多不必大连民族学院计算机科学与工程系2004届毕业论文5要的损失。建立基于WEB技术的邮件服务平台李治坤6第二章电子邮件系统分析使用电子邮件服务的前提是拥有自己的电子信箱。电子信箱一般又称为电子邮件地址EMAILADDRESS。电子信箱是电子邮件服务的机构为用户建立的,实际上是电子邮件服务机构在互联网联网的计算机上为用户分配的一个专门用于存放往来邮件的磁盘存储区域,这个区域由电子邮件系统管理。要发送和接收电子邮件,显然,用户需要拥有一个电子邮件地址,但一定不要把电子邮件地址和口令PASSWORD相混淆,前者是公开的,便于用户之间、用户与公司之间通信后者是保密的,不能让他人知道。一件电子邮件由两部分组成,即邮件头和邮件体。邮件头包含有发信者与接收者有关的信息,如发出地点和接收地点的网络地址、计算机系统中的用户名、信件的发出时间与接收时间,以及邮件传送过程中经过的路径等邮件体是信件本身的具体内。一般是ASCII码表达的邮件正文。邮件头就像普通信件的信封一样,但是邮件头不是由发信人书写,而是在电子邮件传送过程中由系统形成的。邮件体像普通邮件的信笺,是发信人输入的信件内容,通常用编辑器预先写成文件,或者在发电子邮件时用电子邮件编辑器编辑或联机输入。电子邮件服务器是处理邮件交换的软硬件设施的总称,包括电子邮件程序、电子邮件箱等。它是为用户提供全由EMAIL服务的电子邮件系统,人们通过访问服务器实现邮件的交换。服务器程序通常不能由用户启动,而是一直在系统中运行,它一方面负责把本机器上发出的EMAIL发送出去,另一方面负责接收其他主机发过来的EMAIL,并把各种电子邮件分发给每个用户。电子邮件程序是计算机网络主机上运行的一种应用程序,它是操作和管理电子邮件的系统。在你处理电子邮件时,需要选择一种供你使用的电子邮件程序。由于网络环境的多样性,各种网络环境的操作系统大连民族学院计算机科学与工程系2004届毕业论文721电子邮件系统的需求分析211用户对电子邮件系统的需求1方便性。电子邮件系统可以像使用留言电话一样,在自己方便的时候处理记录下来的请求,通过电子邮件可以方便地传送文本信息、图像文件、报表和计算机程序。2广域性。电子邮件系统具有开放性,许多非互联网络上的用户可以通过网关GATEWAY与互联网络上的用户交换电子邮件。3快捷性。电子邮件在传递过程中,若某个通信站点发现用户给出的收信人的电子邮件地址有错误而无法继续传递时,电子邮件会迅速地将原信件逐站退回,并通知不能送达的原因。当信件送到目的地的计算机后,该计算机的电子邮件系统就立即将它放人收信人的电子信箱中,等候用户自行读取。用户只要随时以计算机联机方式打开自己的电子邮件信箱,便可以查阅自己的邮件。4透明性。电子邮件系统采用“存储转发”的方式为用户传递电子邮件,通过在互联网络的一些通信节点计算机上运行相应的软件,使这些计算机充当“邮局”的角色。当用户希望通过互联网络给某人发送信件时,首先要与为自己提供电子邮件的计算机联机,然后把要发送的信件与收信人的电子邮件地址发给电子邮件系统。电子邮件系统会自动地把用户的信件通过网络一站一站地送到目的地,整个过程对用户来说是透明的。5廉价性。互联网络的空间几乎是无限的,公司可以将不同详细程度的有关产品、服务的信息放在网络站点上,这时顾客不仅可以随时从网上获得这些信息,而且在网上存储、发送信息的费用都低于印刷、邮寄或电话的费用。在公司与顾客“一对一”关系的电子邮件服务中,费用低廉,从而节约大量费用。6全天候。对顾客而言,电子邮件的优点之一是没有任何时间上的限制。一天24小时,一年365天内,任何时间都可发送电子邮件。比如,当顾客发生问题时,他们随时都可以把发生的问题发送给公司,建立基于WEB技术的邮件服务平台李治坤8而公司有关负责人可以在他方便的时候,查阅这些信件,决定哪些信件必须首先处理,哪些可以稍后处理,哪些应该转发给其他部门去承办。而以前没有电子邮件时,顾客的产品本身或产品在使用过程中发生了问题,需要等到公司人员上班时,才能给公司打电话。而且什么时候打电话也很讲究,打早了,公司负责人还没有上班,打晚了公司负责人又可能出去开会了。电子邮件的全天候服务,从根本上解决了这种状况,大大改善了公司与顾客的关系,改善了公司对顾客的服务。22电子邮件系统的基本结构一个邮件系统是由实现各种功能的服务器组成的功能集合。实现基于WEB技术的邮件服务平台至少需要有以下几种服务器提供相应的服务功能邮件服务器。这是电子邮件系统不可缺少的。该服务器是实现邮件发送、接收、储存、转发的不要条件。但是该服务器无法提供友好的访问界面。用户虽然也可以直接访问邮件服务器,但要实现各种功能就需要记住大量复杂的命令。所以友好的邮件系统还需要由WEB服务器来提供用户访问界面。WEB服务器。该服务器为用户提供邮件系统的访问界面,用户在远程计算机通过浏览器访问邮件系统,通过WEB服务所提供的界面实现各种功能。DNS服务器。在电子邮件系统中还需要一种很重要的服务这就是DNS域名解析服务。在电子邮件系统中的域名解析服务并不是为用户访问提供域名解析,而是为邮件服务器与邮件服务器之间的访问提供正确的域名解析。将以上3种服务器联系起来就可以构建一个最基本的电子邮件系统。大连民族学院计算机科学与工程系2004届毕业论文923构建邮件系统的准备工作231操作系统和服务器软件的选择为了发挥各个系统的长处,我们选择了两个操作系统,作为邮件服务平台的服务器操作系统。WINDOWSXP该系统虽然只是MICROSOFT开发的一个个人计算机操作系统,但是它采用的是WINDOWSNT的内核,拥有较好的稳定性以及比WINDOWS2000高得多的磁盘读写能力,所以安装上服务器软件后的WINDOWSXP系统一样是一个很可靠的服务器平台,更重要的是WINDOWSXP的兼容性比WINDOWS2000SERVER要好很多,各种软件在系统中都可以很好的运行,所以我们使用WINDOWSXP作为WEB服务器,以及用户界面代码的编辑环境。LINUX不仅是一个优秀的个人桌面操作系统,更是一个优秀的网络操作系统,他支持多种网络服务,像WWW、MAIL、FTP、DNS和SMB等。使用LINUX,可以成功地搭建高效的企业网络和网站等各种网络应用。REDHATLINUX作为LINUX系统中的佼佼者,在各个方面都得到了广泛的应用。所以我选择REDHATLINUX9作为邮件服务器和DNS服务器的操作系统平台。232编程语言和编程环境的选择JSP是JAVASERVERPAGES的缩写,它是一种动态网页技术标准。在传统HTML网页文件(HTM,HTML)中加入JAVA程序片断(SCRIPTLET)和JSP标记,就构成了JSP网页(JSP)。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序片断,然后将执行结果以HTML格式返回给客户。程序片断可以操作数据库、可以重定向网页、可以发送和接收电子邮件等动态网页所需要的功能。所有的程序都在服务器段执行,在通过网络传送到客户端的仅是程序执行的结果,因此对客户端浏览器的要求很低。JSP技术功能强大、使用灵活,为创建显示动态内容的WEB网页提供了一个简洁而快速的方法。JSP技术的设计目的是使编写基于WEB的应用程序更加容易和快捷的同时,保证这些应用程序能够与各种WEB服务器、浏览器和开发工具共同工作。所以我使用JSP作为我毕业设计的建立基于WEB技术的邮件服务平台李治坤10开发语言。JSP对编程环境的要求不像其他语言那么苛刻,但是有个好的编程环境会让我们的工作事半功倍,我使用的编程环境是JBUILDER9它可以很方便的建立工程、WEBAPPLICATION、PACKAGE和SERVLET,还能有效地对WEBAPPLICATION进行部署。在调试的时候由于JBUILDER9内嵌的TOMCAT和我们使用的TOMCAT服务器会发生端口冲突。所以在调试的时候我使用ULTRAEDIT作为源代码的编辑器。ULTRAEDIT支持JAVA,JSP,HTML和JAVASCRIPT的高亮显示,可以给我的调试工作带来了很大的方便。233服务器软件的选择(1)WEB服务器软件TOMCAT是JAVASERVLET和JAVASERVERPAGES技术的标准实现,最初是基于APACHE许可证下开发的自由软件用来给APACHE提供解释JSP的功能模块。发展到现在TOMCAT不仅仅是一个JSP解释器和SERVLET容器,它还具有了WEB服务器的功能。作为当今使用最广泛的SERVLET/JSP服务器,它运行稳定,性能可靠,是学习和中小型企业的最佳选择。我以我选用TOMCAT作为WEB服务器软件。(2)邮件服务器软件说到邮件服务器软件人们肯定会想到大名鼎鼎的SENDMAIL,它是最早的邮件服务器软件之一,它的功能十分强大,配置十分的繁琐,不过如果只需要一些常用的功能,它的配置还是比较方便的。它可以轻松的是现在SMTP和POP3页以下的邮件的接收、发送、转发,而且现在各种LINUX版本中都会自带SENDMAIL的软件包,所以在LINUX下使用SENDMAIL作为邮件服务器软件是毫无疑问的。(3)DNS服务器软件REDHATLINUX9系统下自带了一款DNS服务器软件BIND,它也是常用的DNS服务器软件之一。它能够提供DNS解析所需要的所有功能,所以我们就直接使用它作为DNS服务器软件。234其它软件的选择由于开发条件的限制,我只有一台计算机进行开发,而又要实现两台计算机互联,一台使用WINDOWSXP,另一台使用REDHATLINUX9。所大连民族学院计算机科学与工程系2004届毕业论文11以我使用了VMWAREWORKSTATION的虚拟机软件,这个软件的功能是用软件模拟一台完整的计算机,并且可以实现主机和虚拟计算机以及主机所连接的网络和虚拟计算机的通信。这样我就可以同时运行WINDOWS和LINUX,并且实现两个系统的互联,远程计算机可以同时访问主机和虚拟计算机。这个软件为整个开发过程带来了很大的方便建立基于WEB技术的邮件服务平台李治坤12第三章系统的总体规划一个邮件平台它既可以是C/S结构,向我们平时所使用的OUTLOOK,FOXMAIL等软件,它们配上邮件服务器就组成了一个C/S结构的邮件服务平台。而我的毕业设计所做的是基于WEB技术的邮件服务平台。它所使用的是B/S结构,用户无论在何地,只要能连接INTERNET,只要有一个INTERNET浏览器就可以使用该邮件系统。因此该邮件系统主要是服务器端的配置和用户界面的设计。所有的用户界面都运行在服务器上,对客户端没有其他的要求。31系统平台的规划整个邮件系统平台由两台计算机,4个服务器段软件组成,一台计算机安装WINDOWSXP操作系统,上面安装TOMCAT和SQLSERVER2000作为WEB服务器和数据库服务器。WEB服务器为用户提供访问界面,将服务器返回的信息反馈给用户。数据库服务器为用户的注册信息和用户登录系统时的身份认证提供数据库支持。另外一台计算机(由VMWAREWORKSTATION虚拟的计算机)安装REDHATLINUX9操作系统,上面安装SENDMAIL和BIND作为邮件服务器和DNS服务器。邮件服务器实现与邮件操作有关的所有功能,DNS服务器为邮件服务器和WEB服务器提供正确的域名解析。该邮件平台的系统结构图如下所示。大连民族学院计算机科学与工程系2004届毕业论文13图(1)邮件平台的系统结构图32邮件系统主要功能的设计作为一给邮件系统最基本的功能就是收发邮件,但是这还远远不够,用户访问邮件系统需要用户身份认证才能保证用户信息的安全,不能让用户面对大量的个人邮件确束手无策,因此用户邮件的管理功能也是必需的。还有很多的功能,只要是用户想要的就应该建立此功能。图(2)邮件系统的功能模块图321登录、身份认证该模块包括用户的注册,系统的登录记住界面的设计。因为所有的系统维护都是主机的系统管理员在后台进行,所以身份认证只考虑普通用户。已注册的用户在正确输入用户名和密码以后就可以登录进入邮件建立基于WEB技术的邮件服务平台李治坤14列表的界面。未注册的用户需要进入注册界面,输入新的用户名、密码以及确认密码和一些必要的用户信息才能注册,注册成功以后系统自动返回登录界面,重新登陆后方可进入系统的主界面。322用户密码的修改和找回用户可以随意的修改自己的用户密码,但必须要在用户登录以后。用户进入密码修改界面,会看到自己的用户名。输入用户现在的密码,和用户想要的新密码以及确认新密码后用户就可以成功的修改自己的密码。忘记自己密码的用户可以在登录页面上选择找回密,输入用户名和用户注册时使用的邮件地址。当用户名以及邮件地址与系统数据库里的用户注册信息相吻合时,系统就会返回用户的密码。323邮件的收发该模块实现用户收发邮件的功能,包括邮件的读取功能、邮件的编辑功能,邮件的列表功能,邮件的转发功能,邮件的优先级设置功能以及邮件附件的添加功能。编辑功能为用户提供了编写邮件的界面,用户在这个界面可以填写要发送的地址、邮件的标题、邮件的内容,添加附件,设置邮件的优先级并且可以发送邮件。邮件列表功能可以告诉用户邮箱中有多少封邮件,有哪些是新邮件。点击可以进入读取邮件的界面,阅读相应的邮件。在邮件列表中还可以对邮件进行管理。324邮件的管理用户通过邮件管理模块可以实现邮件的删除,邮件的下载等功能。在邮件列表界面里,每条邮件信息之前有个复选框,选择上复选框在点击删除按键就会删除所选择的邮件。每条邮件信息之后有一个超级链接,通过该链接可以下载邮件中的附件内容。这样用户就可以一目了然的管理自己的邮件。325地址管理该模块的功能是帮助用户管理联系人的邮件地址,可以对地址进行分类,添加、删除或修改地址。用户在发邮件的时候可以直接从所有地址中导出他所需要的一个或多个地址。大连民族学院计算机科学与工程系2004届毕业论文15第四章系统的具体实现在系统实现的过程中,我将整个邮件服务平台划分为服务器平台、数据库、和用户界面三个部分。然后按照由低层到高层的顺序逐步实现。服务器平台位于系统的最底层,从系统安全和效率考虑,我尽可能的简化配置,只安装必要的软件,关闭不需要的服务和端口。数据库的表的设计尽可能的全面。最高层用户界面的设计考虑到系统维护的方便性,我采用了JAVASERVLET技术。将网页代码和JAVA代码分离,与数据库连接的代码和邮件操作的代码分别被封装在了两个PACKAGE内。邮件操作部分我使用了JAVAMAILAPI,这样可以使代码更标准,便于进一步开发。41服务器平台的实现411WEB服务器的安装配置WEB服务器的安装配置很简单,安装时跟着安装程序向导一步一步作就可以。配置主要是环境变量的设置。设置JAVA_HOME变量为JSDK的安装目录。设置CATALINA_HOME变量为TOMCAT的安装目录,将TOOLSJAR,DTJAR,MAILJAR,ACTIVATIONJAR和SERVLETJAR这几个包的完整路径添加到CLASSPATH变量中。将JSDK和TOMCAT下的BIN目录添加到PATH变量中。建立基于WEB技术的邮件服务平台李治坤16图(3)设置JAVA_HOME环境变量图(4)设置CATALINA_HOME环境变量图(5)设置CLASSPATH环境变量图(6)设置PATH环境变量412DNS服务器的安装配置在安装LINUX系统的时候选择安装DNSSERVER就可以安装LINUX自带的DNS服务器。LINUX系统安装完毕后只需要对DNS服务器进行配置。DNS的配置(1)更改/ETC/NAMEDCONF文件内容如下ZONE“MAILTESTCOM“TYPEMASTER大连民族学院计算机科学与工程系2004届毕业论文17FILE“MAILTESTCOMS“ZONE“0168192INADDRARPA“INTYPEMASTERFILE“0168192INADDRARPAZONE“(2)在/VAR/NAMED目录下添加文件MAILTESTCOMZONE和0168192INADDRARPAZONE。文件MAILTESTCOMZONE内容TTL86400INSOAMAILMAILTESTCOMROOTLOCALHOST2SERIAL28800REFRESH7200RETRY604800EXPIRE86400TTLINNSMAILMAILTESTCOMINMX10MAILMAILTESTCOMWWWINA192168022INA192168033MAILINA192168033文件0168192INADDRARPAZONE内容TTL86400INSOAMAILMAILTESTCOMROOTLOCALHOST5SERIAL28800REFRESH7200RETRY建立基于WEB技术的邮件服务平台李治坤18604800EXPIRE86400TTKINNSMAILMAILTESTCOMINMX10MAILMAILTESTCOM22INPTRWWWMAILTESTCOM33INPTRMAILMAILTESTCOM(3)打开BIND的守护进程CD/ETC/RCD/INITDCHKCONFIGLEVEL3NAMEDON这样就配置好了DNS服务器。413邮件服务器的安装配置邮件服务器也是适用LINUX自带的安装包,所以LINUX系统安装好以后只需要对邮件服务器进行配置。邮件服务器配置(1)修改/ETC/MAIL/SENDMAILCF配置文件找到SMTPDAEMONOPTIONSODAEMONPORTOPTIONSPORTSMTP,ADDR127001,NAMEMTA更改为ODAEMONPORTOPTIONSPORTSMTP,ADDR192168100134,NAMEMTA这是更改SENDMAIL的监听端口为网络端口而不是本地端口。(2)修改/ETC/MAIL/LOCALHOSTNAMES文件文件中设定就把域名输入进去就可以了LOCALHOSTNAMESINCLUDEALLALIASESFORYOURMACHINEHEREMAILTESTCOM(3)修改/ETC/MAIL/ACCESS文件改完后的ACCESS文件应该是这样的CHECKTHE/USR/SHARE/DOC/SENDMAIL8112/READMECFFILEFORADESCRIPTION大连民族学院计算机科学与工程系2004届毕业论文19OFTHEFORMATOFTHISFILESEARCHFORACCESS_DBINTHATFILETHE/USR/SHARE/DOC/SENDMAIL8112/READMECFISPARTOFTHESENDMAILDOCPACKAGEBYDEFAULTWEALLOWRELAYINGFROMLOCALHOSTLOCALHOSTLOCALDOMAINRELAYLOCALHOSTRELAY127001RELAYMAILLISTCOMRELAY然后运行MAKEACCESSDB这个MAKEACCESSDB命令把新的设定添加到SENDMAIL的HASH数据库里SENDMAIL用它来判断允许那些主机通过你的EMAIL服务器来传递邮件。(1)修改/ETC/XINETDD/IPOP3文件修改完后的文件如下DEFAULTOFFDESCRIPTIONTHEPOP3SERVICEALLOWSREMOTEUSERSTOACCESSTHEIRMAILUSINGANPOP3CLIENTSUCHASNETSCAPECOMMUNICATOR,MUTT,ORFETCHMAILSERVICEPOP3SOCKET_TYPESTREAMWAITNOUSERROOTSERVER/USR/SBIN/IPOP3DLOG_ON_SUCCESSUSERIDLOG_ON_FAILUREUSERIDDISABLENO(2)重新启动SENDMAIL和XINETD守护进程建立基于WEB技术的邮件服务平台李治坤20SERVCIESENDMAILRESTARTSERVICEXINETDRESTART这样就配置好了SENDMAIL服务器。42数据库的实现421数据库建立的目的建立数据库是为了给系统用户注册、用户登录时的身份认证和用户信息的保存提供数据库支持。422数据库的设计邮件系统的数据库使用的是SQLSERVER2000。建立的邮件系统数据库名为WEBMAIL。我设计了两个表来保存用户的数据。第一个表是MEMBER表,这张表用来保存用户的注册信息。建表代码如下CREATETABLEDBOMEMBERIDINTIDENTITY1,1NOTNULL,LOGNAMENVARCHAR50COLLATECHINESE_PRC_CI_ASNOTNULL,REALNAMENVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,PASSWORDNVARCHAR50COLLATECHINESE_PRC_CI_ASNOTNULL,EMAILNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,GENDERINTNULL,PHONENVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,PROBLEMNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,ANSWERNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,PROVINCENVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,EDUCATIONNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,HOBBIESNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,SELFINTRONTEXTCOLLATECHINESE_PRC_CI_ASNULLONPRIMARYTEXTIMAGE_ONPRIMARY设置约束代码如下大连民族学院计算机科学与工程系2004届毕业论文21ALTERTABLEDBOMEMBERWITHNOCHECKADDCONSTRAINTPK_MEMBERPRIMARYKEYCLUSTEREDLOGNAMEONPRIMARYID用户在数据库中的编号,不能为空。LOGNAME用户登录时所使用的名字,这是该表的主键。REALNAME用户的真名。PASSWORD用户密码,不能为空。EMAIL用户注册时填写的邮箱,与用户密码的找回有关。GENDER用户的性别。PHONE用户的电话号码。PROBLEM用户的密码提示问题。ANSWER用户密码提示问题的答案。PROVINCE用户所在的地区。EDUCATION用户的受教育程度。HOBBIES用户的爱好。SELFINTRO用户的自我介绍。图(7)WEBMAIL数据库中的MEMBER表建立基于WEB技术的邮件服务平台李治坤22第二张表是ADDRLIST表,用来保存用户的地址簿信息。建表代码如下CREATETABLEDBOADDRLISTIDINTIDENTITY1,1NOTNULL,USERIDNVARCHAR50COLLATECHINESE_PRC_CI_ASNOTNULL,ADDRESSNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,ADDRUSERNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,CLASSNVARCHAR50COLLATECHINESE_PRC_CI_ASNULLONPRIMARY设置约束代码如下ALTERTABLEDBOADDRLISTWITHNOCHECKADDCONSTRAINTPK_ADDRLISTPRIMARYKEYCLUSTEREDIDONPRIMARYID编号标识,不能为空。USERID储存该地址的用户,不能为空。ADDRESS用户储存的地址。ADDRUSER储存的地址所对应的联系人。CLASS地址的分类。图(8)WEBMAIL数据库中的ADDRLIST表MEMBER表的数据在用户注册和用户登录进行身份认证的时候被使用,ADDRLIST表的数据在用户选择收件人的操作时被使用,在该邮件系统中没有能将两张表联系起来的操作,所以两张表相对对立。大连民族学院计算机科学与工程系2004届毕业论文2343用户界面的设计431用户登录界面用户的登录界面的代码主要在LOGINJSP和LOGINJAVA中。LOGINJSP生成用户登录信息的表单。表单的内容包括用户名LOGNAME和用户密码LOGPASS,为的是给LOGIN,JAVA提供用户的登录信息。LOGINJAVA是一个SERVLET,它利用JAVAXSERVLETHTTP类库提供的HTTPSERVLET接口建立与WEB服务器的连接。通过定义HTTPSERVLETREQUESTREQUEST对象获取LOGINJSP所提供的LOGNAME和LOGPASS。然后对LOGNAME和LOGPASS进行分析,如为空则给出提示要用户输入用户名和密码。如果和系统数据库中的用户名和密码相吻合,则调用MAINJSP页面进入邮件系统。在LOGINJAVA中通过抛出SERVLETEXCEPTION类来处理与数据库的连接。在用户界面上还建立了与用户密码找回界面和用户信息注册界面的链接。用户密码找回界面和用户注册界面分别是FINDPASSJSP和EDITPASSJSP。相应的SERVLET分别是FINDPWDJAVA和EDITPWDJAVA。这两个SERVLET所使用的方法和LOGINJAVA中所使用的方法类似。主要是对数据库的操作和使用TRYCATCHFINALLY方法来实现队里外的响应。432邮件列表界面当用户顺利登录系统后会进入系统的欢迎界面,用户点击框架右边的收件箱就可以进入邮件列表界面。邮件列表界面是MAIL_LISTJSP,它所调用的SERVLET是MAILLISTJAVA。MAILLISTJAVA要连接邮件的存储,然后打开名为INBOX的文件夹。MAILLIST会创建一个同邮件服务器的会话POP3SESSION,使用这个会话建立与邮件服务器的STORE连接,连接的类型为POP3由POP3SESSIONGETSTORE“POP3”方法定义。通过调用JAVAMAILAPI中提供的FLODER类,使用GETFOLDER方法定义一个FOLDER变量FOLDER,使用FOLDEROPENFOLDERREAD_ONLY设置目录的打开方式为只读,用FOLDERGETMESSAGECOUNT方法可以获得邮箱中的邮件数量,建立一个数组MESSAGE来定位邮件。用FOLDERGETMESSAGES可以获得邮箱中邮件的数量,建立基于WEB技术的邮件服务平台李治坤24然后通过一个循环,使用GETFROM方法和GETSENTDATA方法以及GETSUBJECT方法,分别获取每封邮件的部分信息(包括发件人,发送时间,主题),再通过MAILLISTJSP格式化输出。433邮件编辑界面邮件的编辑界面是COMPOSEJSP基调用的SERVLET是SENDJAVA。SENDJAVA是邮件的发送程序,改程序定义了6个主要变量STRING变量TOID用来记录收信人地址,STRING变量FROMID用来设定发信人地址,STRING变量CCID和BCCID用来记录第2、第3收信人地址,STRING变量SUBJECT用来记录邮件的主题,STRING变量TEXT用来记录邮件的主要内容。在定义变量的时候需要将SUBJECT和MESSAGETEXT用GETBYTE“ISO8859_1”方法将字符转化为邮件服务器能够识别的字符。使用GETSESSION方法建立与邮件服务器的会话,用MIMEMESSAGE创建该会话下将要发送的邮件的表单。然后分别用SETFROMFROMID、SETRECIPIENTSMESSAGERECIPIENTTYPETO,IADDR、SETSUBJECTSUBJECT、SETTEXTTEXT将相对应的内容添加到表单中,再使用TRANSPORTSEND把邮件发送出去。434邮件读取界面在邮件列表界面上选择查看就可以读取相应的邮件,这需要调用一个名为READJAVA的SERVLET。该程序所使用的方法和SENDJAVA类似。不一样的地方在于该程序是从邮件服务器上读取邮件的信息,并将信息格式化后输出,而SENDJAVA是获取用户输入到COMPOSEJSP表单中的信息。在读取程序中我也使用到GETMESSAGES方法,这样可以确定所要读取的邮件时那一封,同时也可以防止用户选择了不存在的邮件。435对附件的处理发送邮件中的附件就像发送邮件一样,先建立构成完整邮件的部分,在邮件正文之后,每添加一附件就需要对其处理,而不像发送邮件是统一处理。附件是文件时,数据资源是FILEDATASOURCE。附件是链接是数据资源是URLDATASOURCE。获得数据资源后,在调用SETDATAHANDLER函数粘贴到BODYPART之前,必须传递到DATAHANDLER构造其中。最后用BODYPART对象的SETFILENAME方法把文件名和附件联系起来。大连民族学院计算机科学与工程系2004届毕业论文25当一个邮件包含有附件时,邮件的内容是MULTIPART,而不是PART对象。MULTIPART实力对象可以通过MESSAGEGETCONTENT取得。通过PARTGETDISPOSITION方法取得MULTIPART的每一部分,通过PARTGETCONTENTTYPE来去的附件的意向和内容类型并据此加以处理。436用户地址簿的处理处理用户地址簿的程序是名为ADDRLIST的SERVLET程序,用户在登录系统以后可以看到地址簿的选项,点击以后就会调用该程序。这个程序主要是对WEBMAIL数据库ADDRLIST表的操作。通过定义一个字符串变量SQL,将SQL语句赋值道这个变量中,再定义一个RESULTSET变量RS,将EXECUTEQUERYSQL方法返回得值赋值到RS变量中。通过这种方法可以直接使用SQL语句进行数据库的操作,将返回的值格式化以后就可以直接使用。在编辑邮件的时候,也可以通过点“选择收件人”调用地址簿界面,用户在选择好地址以后会返回编辑界面。用户所选择的地址将会通过一个SESSION返回到编辑界面地址的输入栏。建立基于WEB技术的邮件服务平台李治坤26第五章结论和体会经过三个多月的设计和开发,基于WEB技术的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论