基于java的电子邮件收发系统的设计与实现毕业作品.docx

上传人:b****3 文档编号:4112297 上传时间:2022-11-28 格式:DOCX 页数:30 大小:1.41MB
下载 相关 举报
基于java的电子邮件收发系统的设计与实现毕业作品.docx_第1页
第1页 / 共30页
基于java的电子邮件收发系统的设计与实现毕业作品.docx_第2页
第2页 / 共30页
基于java的电子邮件收发系统的设计与实现毕业作品.docx_第3页
第3页 / 共30页
基于java的电子邮件收发系统的设计与实现毕业作品.docx_第4页
第4页 / 共30页
基于java的电子邮件收发系统的设计与实现毕业作品.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

基于java的电子邮件收发系统的设计与实现毕业作品.docx

《基于java的电子邮件收发系统的设计与实现毕业作品.docx》由会员分享,可在线阅读,更多相关《基于java的电子邮件收发系统的设计与实现毕业作品.docx(30页珍藏版)》请在冰豆网上搜索。

基于java的电子邮件收发系统的设计与实现毕业作品.docx

基于java的电子邮件收发系统的设计与实现毕业作品

 

毕-设

业-计

(二零届)

基于java的电子邮件收发系统的设计与实现

所在学院

专业班级计算机科学与技术

学生姓名学号

指导教师职称

完成日期年月

摘要:

电子邮件发展的初期,人们只能通过outlook、foxmail等客户端软件来完成邮件的收发。

随着移动办公的出现,人们发现普通的C/S模式结构的电子邮件系统已不能满足需要,基于B/S结构的电子邮件系统在遵循邮件协议的前提下,以其快捷、方便的优点吸引了大量的用户。

在这种模式下,用户只需要安装web浏览器这一最常用的软件,通过登陆到邮箱的网页,即可完成邮件的收发及其他功能。

关键词:

电子邮件;邮件协议;B/S

DesignandImplementationofEmailSystembasedonJava

Abstract:

Atthebeginningoftheemail’sdeveloping,peoplesendandreceiveemailsbyusingclientsoftware,suchasoutlook、foxmailandsoon。

Withtheappearanceofmobileoffice,peoplefindcommonemailsystemcould’tsatisfiedtheirrequirements,onthepremiseoffollowingthemailprotocols,theemailsystemwhichisbasedontheBrower/Serverstructureattractsmanyusersbyitsadvantagessuchasfastandconvenient.Inthiskindofstruct,usersonlyneedtoinstallbrower,averycommonsoftware,bylogininthewebpageofmailsystem,thenhecanfinishrecivingorsendingmailsandotherfunctions.

Keywords:

email;mailprotocol;brower/server

1绪论

1.1课题的研究背景

1.1.1电子邮件的历史背景[1]

电子邮件(E-mail)又称电子信箱、电子邮政,它是—种用现代网络技术提供信息交换的通信方式,不只局限于信件的传递,还可用来传递文件、声音及图片等不同类型的信息,是因特网上使用最普遍的一项服务。

通过连接全世界的Internet,实现各类信息的传送、接收、存储等处理,将邮件送到世界各地的各个角落,这种非交互式的通信方式,加速了信息的交流和数据的传送。

1.1.2邮件系统的工作原理

电子邮件是一种存储转发式的服务,这正是电子信箱系统的核心。

利用存储转发可以实现非实时通信,属异步通信方式。

即邮件发送者可以随时随地发送邮件,不需要接收者同时在场。

即使对方现在不在,仍可将邮件立刻送到对方的信箱内,存储在对方的电子邮箱中。

收信人可以在他认为方便的时候收取信件,不受时间、地点的限制。

在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则是收信人从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的—个实体。

电子邮件是通过邮件服务器来完成发送和接收的,通常邮件服务器是安装有linux系统或者windows系统的计算机,它们提供24小时的电子邮件服务,用户只要向邮件服务器的管理人员申请—个信箱帐号,就可使用这项快速的邮件服务。

1.2课题的研究内容

随着网络的日益普及,互联网大大改变了人们的工作和生活方式,作为互联网上应用最为广泛的服务之一,电子邮件系统给予了人们别样的感受。

本系统使用Java语言来设计电子邮件系统,将E-mail系统和web技术相结合,生成一种界面友好、操作方便、易扩充的邮件收发系统。

用户通过浏览器直接访问电子邮件系统,无须进行任何配置。

该系统开发完成后,主要实现以下功能:

1)用户注册

新用户根据自己的喜好申请一个邮箱名,在注册成功后将会自动获得100MB的邮箱空间。

2)发信和收信

用户既可以向单个收信人发送邮件,也可以向多个收信人同时发送邮件,实现邮件的群发功能。

邮件不仅可以包含文本内容,也可以包含图片、音频、视频等多媒体信息。

在邮件成功发送到收件人的邮箱后,系统将告知用户邮件已成功发送的信息。

若由于网络拥堵或者其它原因致使邮件不能发送到收件人的邮箱,系统将提示邮件发送失败,并将邮件的副本放入草稿箱,以备用户下次发送时使用。

3)即时保存

在用户编写邮件的过程中,可能会遇到计算机断电、浏览器窗口意外关闭等突发状况。

为了使这些状况对于用户的损失降到最低程度,系统将对用户的页面数据每隔三十秒进行自动保存。

在发生上述突发状况后,用户可以到草稿箱中寻找最近一次保存的文档,并再次进行编辑。

4)联系人的编辑与查找

用户可以对联系人的信息进行编辑并分类。

在联系人过多时,可以使用查找功能快速方便的找到所需要的用户。

5)界面自定义功能

用户可以根据自己的喜好选择一款适合自己的邮箱界面,并且可以随时更换。

6)邮箱扩容

当用户认为邮箱的大小不足以满足自己的需要时,可以向系统管理员申请扩容。

1.3论文的内容组织

论文共由七章组成。

第1章绪论,主要介绍系统的研究背景、研究目的和意义、研究内容以及研究方法;第2章基础知识简介,主要介绍系统开发过程中会用到的相关技术,主要有系统的开发平台J2EE,邮件服务器的介绍包括用于发信的smtp服务器sendmail和用于收信的POP3服务器dovecot,还介绍了相关的数据库技术;第3章系统分析,对系统总体功能进行阐述,说明系统要实现的各个基本功能模块,并对系统的可行性进行分析;第4章概要设计,介绍系统的总体框架及相关数据结构;第5章系统设计与实现,主要介绍系统的硬、软件环境、界面设计、功能实现、主要技术难点;第6章系统测试与评价,主要涉及系统的测试方法、数据,结论以及对系统的性能进行评价;第7章总结与展望,主要阐述了本系统所完成的研究工作和存在的不足,以及希望在今后可以完善的地方。

2基础知识简介

2.1HTML简介

HTML(HyperTextMarkupLanguage)是一种超文本标记语言,这种语言是由很多HTML标签组成的,用最简单的记事本工具即可编写HTML网页。

而以HTML编写的这种超文本文档就称为HTML文档。

HTML是互联网上各种浏览器所识别的语言,这种语言所编写的文档一般以html或htm为扩展名。

HTML采用超集方式进行版本升级,因此更加灵活方便。

此外,可扩展性也是HTML的一大特点,HTML采取子类元素的方式,为系统扩展带来保证。

HTML具有平台无关性,即不仅可以在台式计算机上上网,而且可以在掌上电脑、手机等终端上上网,这更加证明了HTML是无处不在的。

HTML的主要结构可划分为3个部分:

1)HTML标签:

代表整篇文档是一个网页文件。

2)HEAD标签:

用于描述网页的头部信息。

3)BODY标签:

用于描述要显示的内容信息。

2.2JSP

JSP(javaServerPages)是服务器端的脚本语言,以Java和Servlet为基础,是一种通过在HTML页面中加入Java语言生成动态页面的技术[2]。

JSP页面由HTML代码和嵌入其中的Java代码所组成,服务器在页面被客户端所请求后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

JSP的执行过程是:

客户端请求JSP页面——>JSPParser解析*.jsp,编译为*.java——>javac命令编译成*.class——>执行class文件——>响应返回结果给客户端。

JSP代码中包含JSP和Templatedata两类元素。

Templatedata是JSP引擎不处理的部分,即JSP引擎会把标记在<%...%>以外的部分直接传递出去而不进行任何处理。

JSP在第一次被访问或修改后都会调用JSPParser将*.jsp文件编译成servlet程序,所以速度比较慢。

JSP有如下优点:

1)代码的执行效率高,即一次编译,多次、多处运行。

当JSP第一次被请求时,JSP页面转换成servlet,然后被编译成.calss文件,在这以后,除非页面有改动或Web服务器被重新启动,否则当再有客户请求该JSP页面时,JSP页面不被重新编译,而是直接执行已编译好的.class文件,因此代码执行效率高。

2)组件的重用性

可重用的、跨平台的JavaBeans和EJB(EnterpriseJavaBeans)组件,为JSP程序的开发提供方便,我们可以将复杂的处理程序(如页面中需要显示的动态内容及对数据库的操作)放到组件中。

3)内容的生成和显示分离

由于使用了JSP标识或者脚本来生成页面上的动态内容,因此,生成动态内容的语句一般被封装在JavaBean组件、EJB组件或JSP脚本段中。

这样,页面的设计人员和页面的编程人员可以同步进行。

同时在客户端通过查看源文件,看不到JSP标识的语句,更看不到JavaBean和EJB组件,也可以保护源程序的代码。

2.3Servlet

Servlet是作用于服务器端的java应用程序,它的主要功能是交互式地浏览和修改数据生成动态Web内容[3]。

其工作过程如下:

1)客户端发送请求至服务器端

2)服务器将请求信息送至servlet

3)Servlet生成相应内容并将其传给服务器

4)服务器将相应动态Web内容返回给客户端

2.4JavaMail

JavaMail是由Sun公司发布用来处理Email的API。

它可以方便地执行一些常用的邮件传输。

JavaMail中用于处理电子邮件的核心类是:

Session,Authenticator,Folder,Message,Address,Transport,Store等[4]。

Session类的主要作用是定义一个与邮件服务器的会话,其中的属性值,例如服务器地址、所采用的通信协议等均可在Properties类中设置。

Folder类是对服务器上的文件进行操作,例如打开文件的操作和以何种方式(只读、读写)打开文件。

Message类的作用是对邮件的内容进行操作,包括设置发送邮件和读取邮件的内容。

Tranport类的主要作用是发送邮件。

3服务器环境搭建

3.1java环境搭建

由于本系统采用java语言设计,所以需要在服务器端安装java的运行环境,从http:

//

图3-1:

更改jdk.bin文件的权限,使其成为可执行文件

安装好后还需配置环境变量,在linux环境中,通过编辑“/etc/profie”文件来设置环境变量的值。

在命令行中输入“vi/etc/profile”,将光标移到最后一行,按i键进入编辑模式,如图3-2所示,完成后按ESC键回到命令模式,保存退出。

图3-2:

配置java环境变量

此时环境变量的值还未得到应用,应执行图3-3命令将刚设置的参数添加到环境变量中。

图3-3:

使配置的环境变量生效

完成后执行“java–version”命令,若出现如图3-5所示页面,则表明java环境搭建成功。

图3-4:

java的运行环境搭建成功

3.2apache服务器

3.2.1Apache简介

Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。

Apache取自“apatchyserver”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、增加新的特性、修改原来的缺陷。

Apache的特点是简单、速度快、性能稳定,并且可以作为代理服务器来使用。

原来它只用于小型或试验Internet网络,后来逐步扩展到各种Unix系统中,尤其对Linux的支持相当完美[5]。

Apache有多种产品,可以支持SSL技术,也可以支持多个虚拟主机。

Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个ApacheWeb站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。

到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。

世界上很多著名的网站如A、Yahoo!

、W3Consortium、FinancialTimes等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

3.2.2Apache的安装与调试

从apache的官方网站http:

//httpd.apache.org/download.cgi#apache20上下载httpd-2.0.64.tar.gz,然后在本地用“tar-zxvfhttpd-2.0.64.tar.gz”命令将该文件解压缩。

进入解压后的目录后,执行命令“./configure--prefix=/usr/local--enable-so”配置apache的安装环境,其中“—prefix=/usr/local”的作用是将其安装到/usr/local目录下以方便管理。

然后执行make命令将该二进制源码进行编译,这一步需要较长的时间。

若无错误则执行“makeinstall”以安装apache软件。

安装完成后开始编辑apache的配置文件。

该配置文件的路径为/usr/local/apache2/conf/httpd.conf,打开后修改apache的监听ip及端口,如图3-5所示。

同时设置网站的根目录,如图3-6所示,将网站文件存放于该目录下。

找到DirectoryIndex这一参数,该参数的作用是设置在网站根目录寻找首页的顺序,该参数的配置如图3-7所示。

图3-5:

修改apache服务的监听ip

图3-6:

设置网站的根目录

图3-7:

设置网站首页的搜索顺序

结合图3-6和3-7可知,网站的首页是/home/hwy/mail下的login.jsp文件,若无该文件,则将该目录下的index.html作为网站的首页,至此apache的初步配置完成,保存退出。

为了验证是否安装成功,我们可以执行“/usr/local/apache2/bin/httpd&”命令来启动apache服务,&符号的含义是将该服务放至后台运行,不占据前台资源。

然后在浏览器中输入173.212.209.114,若出现如图3-8所示页面,则表明apache已被成功安装。

图3-8:

apache安装完成后的画面

3.3tomcat服务器

3.3.1Tomcat简介

Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

它是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。

如果配置好tomcat服务器,则不仅可以处理HTML请求,还可以作为jsp和servlet的容器。

不过tomcat处理html请求的能力不如apache,所以需要将两者整合以发挥最大的效能,这将在下一节中详细介绍

3.3.2Tomcat的安装与调试

如果下载的tomcat为免安装版,则下载后只需执行tar命令,将文件解压缩到/usr/local目录下即可使用。

执行“/usr/local/tomcat/bin/startup.sh”命令,在浏览器中输入173.212.209.114:

8080,若出现如图3-9所示页面,则表示tomcat服务可以正常使用。

图3-9:

tomcat成功安装

3.4整合apache与tomcat

3.4.1为什么要将两者进行整合

由于Apache只能处理静态页面,缺乏对动态页面的支持,因此在实际应用环境下不能单独将apache服务器作为网站服务器。

Tomcat除了支持JavaServlet/JSP之外,也可以当做网站服务器使用,但是对于静态的html、图片文件等文件来说,tomcat的解析效率不如Apache。

应用tomcat的服务器如果网站的访问量较大,系统资源占用会明显升高。

因此,我们可以同时应用tomcat和apache服务。

由Apache负责静态资源处理,tomcat负责jsp和javaservlet等动态资源的处理,因此可以将服务器的效能发挥到最大。

具体的,我们可以利用tomcat-connectors这个软件来完成apache和tomcat这两个软件的整合。

3.4.2整合的步骤与测试

从apache的官方网站http:

//tomcat.apache.org/download-connectors.cgi上可以下载tomcat-connectors软件,这里使用的版本号为1.2.31。

解压该文件,通过阅读它的安装说明文件BUILD.TXT可知,安装该软件只需要经过如图3-10所示的4个步骤即可。

图3-10:

安装tomcat-connectors的四个步骤

按步骤安装完软件后,将native目录下apache-2.0文件夹中的mod_jk.so拷贝至apache安装目录下的modules文件夹中。

然后切换至apache安装目录的conf文件夹,在该文件夹下建立mod_jk.conf和workers.properties两个配置文件,编辑mod_jk.conf文件,如图3-11所示,编辑workers.properties文件,如图3-12所示。

图3-11:

mod_jk.conf配置文件的内容

图3-12:

worker.propertie文件的配置

在上面的配置结束后,还需要在apache的配置文件中增加关于加载mod_jk模块的语句。

打开apache的配置文件httpd.conf,在最后一行写入如图3-13所示内容。

图3-13:

令apache在启动时加载mod_jk模块

最后,编辑tomcat的配置文件server.xml,该文件所在路径为/usr/local/tomcat/conf/server.xml。

在该文件的host字段中间,加入如图3-14所示内容

图3-14:

server.xml中添加apache的主目录

至此,tomcat和apache整合的所有步骤已经完成,为了验证是否成功,开启apache和tomcat进程,然后在apache的主目录(/home/hwy/mail)中添加一个welcome.jsp文件,文件内容如图3-15所示。

然后在浏览器中输入173.212.209.114/welcome.jsp。

若出现如图3-16所示内容,说明整合成功。

图3-15:

welcome.jsp的内容

图3-16:

apache和tomcat整合成功的结果

3.5sendmail(SMTP服务器)

3.5.1Sendmail简介

sendmail是linux平台上最重要的邮件传输代理程序(MTAmailtransferagent)。

一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。

用户代理(如:

outlookexpress、foxmail等)用来接受用户的指令,将用户的信件传送至信件传输代理。

而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如:

procmail。

3.5.2Sendmail服务器的安装与调试

按sendmail的安装说明文件搭建好服务器环境以后,我们还需要了解sendmail的几个主要的配置文件sendmail.mc,sendmail.cf,access.db,access,local-host-names。

其中sendmail.cf是sendmail的主配置文件,由于它的内容比较难以读懂,因此我们一般修改sendmail.mc这个配置文件,然后利用m4命令重新生成一个sendmail.cf文件。

access.db是sendmail的一个数据库文件,其中记录了可以利用该服务器进行邮件转发的ip地址的范围。

因为它是一个数据库文件,不能直接编辑,所以修改access这个文件。

由于sendmail.mc文件默认只开启了对127.0.0.1这个网卡回环接口的监听,因此我们需要将其修改为0.0.0.0,即对本机的所有网卡地址进行监听(如图3-17所示)。

图3-17:

sendmail监听的地址,默认为127.0.0.1

其次,我们需要开启smtp的认证功能,否则邮件不能发送,在配置文件中找到如图3-18所示内容,去掉其dnl注释(在sendmail.mc中是以dnl作为注释符号),保存退出。

打开access文件,添加0.0.0.0网段,如图3-19所示,即对所有使用该服务器的主机进行邮件的转发服务。

保存退出。

执行如图3-20的命令产生一个新的数据库文件,然后执行图3-21所示命令产生一个邮件服务器所能识别的配置文件。

至此,sendmail的基本配置完成。

图3-18:

开启smtp认证功能

图3-19:

使服务器转发所有ip发送的邮件

图3-20:

生成新的数据库文件

图3-21:

使用m4命令生成新的配置文件

执行servicesendmailstart命令来启动邮件服务,在客户端打开命令提示符,执行telnet25即使用文本界面登录到smtp服务器(25为smtp的端口号),若出现图3-22所示内容,则说明sendmail服务器已经可以使用。

图3-22:

sendmail服务正常启动

3.6dovecot(POP3服务器)

从dovecot的官方网站http:

//www.dovecot.org/list/dovecot-news/2011-March/000186.html上可下载到dovecot软件,这里的版本号为2.0.11。

按照dovecot的配置文件安装该软件并启动dovecot服务后,在客户端使用telnet工具连接服务器的110端口,始终会报告一个不能通过pam验证的错误,根据错误提示,还需安装一个pam验证的软件,并在安装dovecot的同时添加with-pam参数。

安装完成后,根据/usr/local/dovecot/etc/dovecot中的README中的内容(图3-23),将example-config下的配置文件拷贝至该目录。

还需要编辑dovecot.conf这个主配置文件,取消dovecot支持的协议一行的注释,如图3-24所示。

图3-23:

README的文件信息

图3-24:

设置dovecot使用的协议

图3-25:

设置邮件的投送位置

另外,还需要编辑conf.d目录下的10-mail.c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1