基于POP3电子邮件系统设计.docx
- 文档编号:6789019
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:61
- 大小:791.09KB
基于POP3电子邮件系统设计.docx
《基于POP3电子邮件系统设计.docx》由会员分享,可在线阅读,更多相关《基于POP3电子邮件系统设计.docx(61页珍藏版)》请在冰豆网上搜索。
基于POP3电子邮件系统设计
中南大学
本科生毕业论文(设计)
题目基于POP3电子邮件系统设计
学生姓名
指导老师
学院信息科学与工程学院
专业班级
摘要
当今的时代是信息的时代,是网络的时代,电子邮件已经成为了人们生活中不可缺少的一部分,已经成为人与人之间沟通的一个重要桥梁。
电子邮件已经逐步取代传统电邮方式,特别是在各企业、事业单位,电子邮件已经起到了一个主导作用。
邮件系统的开发需基于一些特定的协议,现阶段被广泛运用的协议有:
SMTP,POP3,IMAP。
本文通过对SMTP,POP3协议的理解和运用,以及对MVC开发模式和网页设计技能的掌握,利用Java中的JavaMailAPI,开发出一个简单的B/S结构的电子邮件系统。
本系统能完成邮件的发送,邮件接收,邮件管理等功能。
采用MyEclipse进行开发,后台数据库采用SQLServer2005,使用Tomcat作为Web容器,使用James作为邮件服务器,采用MVC开发模式。
该系统提供用户身份认证功能,只有成为系统的注册用户才能使用该系统提供的功能。
在系统中用户可以发送和接收邮件,可以对邮件进行管理,可以修改用户的信息。
通过对本次课题的研究,掌握了基本的Web编程技能,分析问题、解决问题的能力得到锻炼。
同时认识到,在信息化高速发展的今天,高速、方便的电子邮件系统将得到越来越多的人关注和使用,它使人们的工作和生活变得更为便利。
关键字:
电子邮件系统,SMTP协议,POP3协议,James,JavaMailAPI
ABSTRACT
Today’stimeistheinformation’stime,whichisalsothenetwork’stime.E-mailhasbecomeanessentialpartofpeople’slivesandasanimportantbridgeforpeopletocommunicatewitheachother.E-mailhassubstitutedforthetraditionalway,especiallyinvariousenterprises,institutions.E-mailhasbecomealeadingrole.
ThedevelopmentofE-mailsystemmustbebasedonsomespecificprotocols.TheprotocolswidelybeingusednowareSMTP,POP3,IMAP.ThispaperdevelopsasimpleB/SstructureE-mailsystemwiththeunderstandingofprotocols-SMTP,POP3,thegraspingofMVCmodelandwebdesignskills,andthehelpofJavaMailAPI.
Thesystemcansende-mail,receivee-mailandmanagee-mail.ThesystemisdevelopedinMyEclipsewithMVCmodel,usingSQLServer2005asbackgrounddatabase,JamesasmailServer,TomcatasWebcontainer.Itprovidesuserauthenticationfunction.Onlyregisteredoncanyouusethesystemfunctions.Inthesystem,userscansendandreceivemail,managemailandalsocanmodifytheirinformation.
Throughthestudyofthissubject,theauthormastertheskillsofbasicWebprogrammingandenhancetheabilitytoanalyzeandsolvecertainproblem.Meanwhilerecognizingthatwiththerapiddevelopmentofinformationtechnologytoday,high-speed,conveniente-mailsystemwillbeconcernedaboutandusedbymoreandmorepeopleasitmakespeople’sworkandlifemuchmoreconvenient.
KEYWORDS:
e-mailsystem,smtpprotocol,pop3protocol,james,javamailapi
第一章概述
1.1电子邮件的发展背景
电子邮件,或者称为E-mail,它已存在了30多年了。
最初主要应用于学术界,在20世纪90年代得到了广泛的使用,它一下子变得普及起来,以至于现在每天发送的电子邮件数量远远超过了传统信函的数量。
虽然电子邮件是在20世纪70年代发明的,它却是在80年代才得以兴起。
70年代的沉寂主要是由于当时使用Arpanet的用户太少,网络的速度也仅为目前56Kbps标准速度的二十分之一。
受网络速度的限制,那时的用户只能发送一些简短的信息。
到80年代中期,个人电脑兴起,电子邮件开始在电脑迷以及大学生中广泛传播开来;到了90年代中期,互联网浏览器的出现,全球网民人数激增,电子邮件被广为使用。
当今使用得最多的通讯系统是互联网,同时电子邮件也是互联网上最受欢迎的功能之一,通过电子邮件系统,可以以非常低廉的价格(不管发送到那里,都只需负担电话费和网费即可),以非常快速的方式(几秒钟之内能发送到世界上任何目的地),与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字,图像,声音等各种方式。
电子邮件不仅使用方便,而且具有传递迅速和费用低廉的特点。
它使得人们的交流方式得到了极大的改变。
另外,电子邮件可以进行一对多的邮件传递,同一邮件可以一次发送给许多人。
最重要的是:
电子邮件是整个网间网以致所有其它网络系统中直接面向人与人之间信息交流的系统,它的发送方和接收方都是人,所以极大地满足了大量存在的人与人通信的需求。
早在互联网流行以前,电子邮件就已经存在了,是在主机-多终端的主从式体系中从一台计算机终端向另一计算机终端传送文本信息的相对简单的方法流行起来的。
经过了漫长的过程,它现在已经演变成为一个更加复杂并且功能丰富的系统,可以传送声音、图像、图片、文档等多媒体信息,以至于如数据库或账目报告等更加专业化的文件都可以通过电子邮件进行传送。
现在,电子邮件已成为许多商家和组织机构的生命血脉。
用户可以通过电子邮件的讨论会来进行项目管理,并且有时要根据快速或洲际的电子邮件信息交换进行重要的决策和行动。
但毫无疑问的是,互联网扩展了其应用的范围。
过去只能在局域网进行交谈的公司现在可以通过网络与他们的客户、竞争伙伴和世界上的任何人进行通信和交流。
只要某个组织的电子邮件系统运行在支持TCP/IP协议的网络上或具有支持两个互联网邮件服务协议SMTP和POP之一的互联网网关,它的邮件用户就能连接到任何具有相似连接的电子邮件地址上了,并且不论其电子邮件帐户在何处。
电子邮件综合了电话通信和邮政信件的特点,它传送信息的速度和电话一样快,又能像信件一样使收信者在接收端收到文字记录,它又称为基于计算机的邮件报文系统,它承担从邮件进入系统到邮件到达目的地为止的全部处理过程。
电子邮件不仅可以利用电话网络,而且可以利用任何通信网传送。
在利用电话网络时,还可以利用其非高峰期传送信息,这对于商业邮件有特殊价值。
1.2电子邮件的工作原理
电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。
电子邮件的传输是通过SMTP这一系统协议来实现的,它是Internet下的一种电子邮件通信协议。
电子邮件的基本原理,是在通信网上建立“电子信箱系统”,它实际上是一个计算机系统。
系统的硬件是一台高性能、大容量的计算机。
硬盘作为信箱的存储介质,在硬盘上为用户分配一定的存储空间作为用户的“信箱”,每位用户都有属于自己的“信箱”。
并确定一个用户名和用户自己可以随意修改的口令。
存储空间包括存放所收邮件、编辑信件以及信件存档三部分空间。
用户使用口令打开自己的信箱,并进行发信、读信、编辑、转发、存档等操作。
系统功能主要用软件实现。
电子邮件之间的通信是在信箱之间完成的。
用户首先开启自己的信箱,然后通过键入命令的方式将要发送的邮件发送到对方的信箱中。
邮件在信箱之间进行传递和交换,也可以与另一个邮件系统进行传递和交换。
收方在取信时,使用特定帐号从信箱提取。
电子邮件的工作过程遵循客户-服务器方式。
每份电子邮件的发送都要涉及发送方和接收方,发送方构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。
发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器发送。
邮件服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送信息。
邮件服务器将消息存放在接收者的电子信箱中,并告诉接收者有新邮件到来。
接收者通过客户程序连接到服务器后,会看到服务器的通知,进而打开自己的电子信箱来查收邮件。
通常Internet上的个人不能直接接收电子邮件,而是通过申请ISP上的一个电子信箱,由ISP主机负责邮件的接收。
一旦有用户的电子邮件到来,ISP主机将邮件移到用户的信箱中,并通知用户有新的邮件。
因此,当发送一封电子邮件给另一个用户时,电子邮件首先从用户计算机发送到ISP主机,再到Internet,再到接收者的ISP主机,最后到收件人的个人计算机。
这其中,ISP主机起着“邮局”的作用,管理着众多用户的电子信箱。
每个用户的电子信箱其实就是用户所申请的帐号名。
每个用户的电子信箱都要占用ISP主机一定容量的硬盘空间,由于这一空间是有限的,用户需要定期查收和阅读电子信箱中的信件。
电子邮件在发送和接收过程都要遵循SMTP、POP3等协议,这些协议确保了在不同系统之间的传输。
其中,SMTP协议负责邮件的发送,而POP3则用于接收Internet上的电子邮件。
1.3电子邮件的发展趋势
电子邮件经过几十年的发展,已经形成了完善的技术体系。
邮件服务系统在保留了电子邮件系统最初的收发邮件、邮件存储等基本功能的同时,融入了最新的计算机与网络技术,使电子邮件系统有了全新的改观。
1)Web邮件技术
随着Internet应用的日益普及和逐步深入,这些数字仍在不断增长。
但是对于电子邮件系统来说,单纯使用邮件客户端程序进行邮件收发已经不能满足用户移动办公的需要。
Web技术的出现,彻底解决了用户移动办公的需要,使得用户可以在任何地方使用浏览器登陆邮件服务器收发邮件,而不用配置邮件客户端程序。
2)多域邮件服务
多域邮件服务,即一台物理服务器为多个独立注册Internet域名的企业或单位提供电子邮件的服务。
在逻辑上,这些企业和单位有自己独立的邮件服务器,也可以称为虚拟邮件服务器技术。
对于ISP提供商和企业集团公司来说,多域邮件服务器的支持能力是选择邮件服务的一个重要因素。
它可以方便地扩展其横向服务能力。
3)Linux邮件服务器
Linux操作系统作为目前应用最广泛的开源操作系统,具有性能稳定,可靠性高和价格低廉的特点。
使用Linux作为邮件服务器,主要是可以与Sendmail,MySql等开源软件共同使用,在满足用户的需求上降低了系统价格。
4)安全防护
现在的邮件服务器在安全防护技术上有了较大的提高,包括数据身份验证、传输加密、垃圾邮件过滤、邮件病毒过滤、安全审计等的多项安全措施在邮件服务器上得到了广泛的应用。
5)无限的扩展能力
电子邮件系统应具备无限的扩展能力,Internet网络的一个特性是变化无常,因此需要电子邮件具有无限的扩展能力。
这个能力主要体现在邮件的处理能力和邮件的存储能力上。
为了使邮件处理能力可以无限扩展,就需要引入集群和负载均衡技术,使应用平台可以在需要的时候进行扩充,满足长期或临时的需要。
为了便于邮件存储,需要高性能的邮件存储解决方案,最为理想的应该是SAN技术在邮件服务器中的应用。
6)远程监控和性能调整
由于目前很多邮件服务器属于电信托管方式,不可能经常进行本地操作,因此目前邮件服务器均提供了远程邮件监控的功能。
可以通过Web方式,监控邮件服务器的工作状态,包括在线用户数,邮件处理数量和速度,存储空间使用率等,并且可以随时对出现的发信高峰和网络攻击进行远程处理。
电子邮件是一项系统工程,需要网络、数据存储、数据库、操作系统等技术的支持,电子邮件的每一次技术革新都是建立在其它技术发展的基础上的。
1.4研究目的及意义
以下是几种常见的邮件系统:
1)大型门户网站的邮件系统
目前大型门户网站的邮件系统通常是由内部人员开发的,通常需要十几个高级技术人员专门维护,并依赖于昂贵的硬件支持,再加上人员的流动性大,造成软件质量的低下。
例如,Etang邮件系统采用的是价格在100万美元的EMC(电磁兼容性)存储设备;263的邮件系统成本在1500万人民币,并由近三十人的技术队伍专门维护;新浪的邮件系统由60多台服务器组成,并有十几个技术人员在维护这套系统。
这样的成本使企业在开展服务时望而生畏。
2)ExchangeServer
该系统只能运行在WindowsNT上,WindowsNT的不稳定性决定了这套系统的不稳定性。
ExchangeServer具有严重的内存泄露问题,随着系统运行时间的增加会越来越慢,平均一周至少要重新启动一次。
WindowsNT系统面临着巨大的感染病毒的隐患,一旦ExchangeServer感染病毒,会造成ExchangeServer本身的瘫痪,并使所有用户感染病毒,感染速度惊人。
即使用户安装了杀毒软件,也只能“事后处理”,无法“事先预防”。
ExchangeServer对邮件帐户的支持是十分有限的,一般超过200个用户时,系统运行效率就非常低,要提高效率,只能依赖于昂贵的硬件。
ExchangeServer的安全性和功能很弱,很容易被外界用来转发邮件,甚至冒充内部人员发送垃圾邮件。
成本上,从微软网站上可以看出,平均每个用户的成本是10美元,再加上WindowsNT的成本,成本也是非常高的。
3)LotusNotes
LotusNotes基本上还是一套OA和工作流系统,其邮件功能非常有限,从国外的Notes客户反应来看,经常出现如下问题:
a)邮件系统不能正常收发,需频繁地重启服务器和清理邮件系统
b)经常被外界用来转发邮件
c)一些邮件服务系统发来的邮件,系统收到为乱码,如,等。
d)OA功能丰富,但邮件系统效率低,超过300人时,收信速度明显变慢。
e)用户很难享受即时专业的咨询,在遇到问题时束手无策。
成本上,LotusNotes的每个用户的成本是21美元,费用也不低。
4)NetscapeMessageServer
NetscapeMessageServer是一款非常旧的邮件系统,目前的用户数已经逐年下降,稳定性、可操作性和功能都很弱,很容易被人利用发送垃圾邮件,无法解决大容量、过滤垃圾邮件、系统安全、过滤病毒邮件、连续无故障运转等需求,本身也不含Web界面,用户只能使用Outlook等工具收发邮件,无法移动办公。
目前,我国企业邮箱应用主要有三种方式:
免费或收费的公用电子邮箱、工作流软件、免费软件和共享软件。
由于投资少和免维护,使用免费的和收费的电子邮箱最普遍,但是它的弱点也很突出。
针对以上问题,使用Java语言实现,构建适合小型企业应用的简易邮件系统,可以在单位的内网搭建系统,这样既方便单位内部人员的信息交流,同时可以大量减少费用,达到很高的经济效益。
第二章系统的分析及解决方案
开发系统的第一步是进行需求分析。
需求分析的好坏直接决定着系统能否真正满足用户的需要。
可以将需求分析分为两个过程,一是理解需求,二是分析需求。
2.1需求分析
下面是该系统的文本需求说明:
1)用户首先要进行注册,然后再使用系统进行信息交流。
2)系统要实现的功能包括两个方面,一个方面是管理员的管理功能,包括用户管理和系统参数设置;另一方面是用户使用系统功能,包括用户注册、个人信息管理、邮件管理等。
3)只允许系统管理员对系统所有注册用户的管理,可以查看用户的详细信息、删除用户以及根据用户名字查找用户。
4)只允许系统管理员对系统的参数进行设置,如系统名称、系统通信、系统管理员E-mail等。
5)当用户注册后,具有系统中邮件功能,包括发邮件、接收邮件、查看已发邮件、查看垃圾箱、通信簿的管理以及删除邮件等。
6)任何一个网络用户都可以查看本系统所有注册用户,可以根据向导注册为系统的固定用户,要记录的信息有用户名、密码、真实姓名、联系通信方式、邮编、邮箱、电话等。
7)注册用户只有登录系统后方可使用邮件系统,并且只允许看到自己的邮件,还可以修改个人的基本信息。
8)系统客户端运行在Windows平台下,服务器运行在Windows平台下。
系统还应该有一个较好的图形用户界面。
系统的角色分为系统管理员和一般用户两种。
系统管理员登录系统可以对系统进行管理,主要是注册用户管理和系统设置;一般注册用户则主要是对邮件的管理和通信簿的管理。
以下是该系统的文本功能需求分析说明:
1)管理员登录:
系统初始化系统管理员,管理员能够通过该入口进入后台进行管理操作。
2)管理员管理注册用户:
管理员可以对系统的注册用户进行管理,查询系统中的注册用户,直接添加用户,对于违规用户可以删除,以及查看某注册用户的详细注册信息和加为好友。
3)管理员系统设置:
系统有一些初始化信息,比如系统名称、系统URL、主页名称、主页URL、系统管理员E-mail、有新邮件提示等,管理员可以在后台界面自行设置。
4)用户注册:
网络用户均能够注册。
注册的用户信息包括注册名、性别、密码、确认密码(以便保证用户两次输入的密码都一样)、电子邮件等。
其中,注册名、性别、密码和电子邮件是必填项,并且用户名不能重复。
5)用户登录:
系统注册用户使用自己注册的用户名登录系统,进行邮件的管理和个人注册信息的管理。
其中,邮件的管理又包括收件箱、垃圾箱、草稿箱、发件箱、通信簿等的管理。
6)撰写发送邮件:
填写收件人、标题和邮件内容后,可以给收件人发送邮件。
7)收件箱管理:
显示用户所有收到的邮件列表,可以查看邮件的详细内容,可以选中所要删除的邮件进行删除或者删除收件箱的所有邮件,所删除的邮件被转移到垃圾箱。
8)垃圾箱管理:
显示用户从收件箱中删除的所有邮件列表,可以查看邮件的详细内容,可以选中所要删除的邮件进行删除或者删除垃圾箱中所有邮件,所删除的邮件则被彻底删除。
9)草稿箱管理:
显示用户所有保存的准备发送的邮件列表,可以查看邮件的详细内容并进行修改,可以选中所要删除的邮件进行删除或者删除草稿箱中所有邮件。
10)发件箱管理:
显示用户发送的所有邮件列表,可以查看邮件的详细内容,可以选中所要删除的邮件进行删除或者删除所有已发邮件。
11)通信簿管理:
显示所有好友的列表,可以添加好友,可以选中所要删除的好友进行删除或者删除所有好友,可以查看个人详细信息,可以选中其中的好友发送邮件。
本系统的中心对象是邮件,根据以上的模块划分和需求分析可知,该系统的流程主要描述的是用户注册后发送邮件、接收邮件的流程,该系统的使用对象包括管理员和注册用户,因此包括两个基本的流程。
图2.1描述的是管理员进行操作的流程。
首先管理员要进行系统参数设置和管理,当用户注册成为系统用户之后,管理员再进行对用户的管理工作,流程图如图2.1所示。
图2.1系统流程图-管理员
图2.2描述的是注册用户进行操作的流程。
没有身份的用户需要先注册,登录系统后可以查看和修改个人信息、发送邮件等邮件管理操作。
图2.2系统流程图-注册用户
2.2系统的解决方案
电子邮件系统的构成如图2.3所示
图2.3电子邮件系统的构成
从图2.3可以看出,客户端将邮件传到ISP邮件服务器上,邮件服务器之间再进行邮件的传输,最终邮件传输给接收方的ISP服务器,接收方从相应的邮件服务器中下载邮件。
邮件服务器之间通过SMTP协议传输邮件,客户端可以通过IMAP协议或POP3协议从服务端下载邮件,本系统中采用POP3协议。
2.2.1JavaMailAPI技术
SUN公司制定了JavaMailAPI,它封装了按照各种通信协议,如IMAP、POP3和SMTP与服务器通信的细节,为Java应用程序提供了收发电子邮件的公共接口,如图2.4所示。
图2.4JavaMailAPI的基本框架结构
从上图可以看出,JavaMailAPI被设计成两部分:
一部分以不依赖协议的方式发送和接收消息;另一部分,则是依赖于具体协议的,比如SMTP,POP3协议。
虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(JavaDevelopmentKit),这就意味着在使用前必须另外下载JavaMail文件。
除此以外,还需要有Sun的JavaBeansActivationFramework(JAF)。
JavaBeansActivationFramework的运行很复杂,简单的说就是JavaMail的运行必须得依赖于它的支持。
在Windowsxp下使用需要指定这些文件的路径,在其它的操作系统上也类似。
JavaMailAPI中提供很多用于处理E-mail的类,其中比较常用的有:
Session(会话类)、Message(消息)类、Address(地址)类、Authenticator(认证方式)类、Transport(传输类)、Store(存储)类和Folder(文件夹)类7个类。
2.2.2附件处理
1文件上传技术
jspSmartUpload是由网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。
该组件有以下几个特点:
(1)使用简单。
在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。
(2)能全程控制上传。
利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
(3)能对上传的文件在大小、类型等方面做出限制。
如此可以滤掉不符合要求的文件。
(4)下载灵活。
仅写两行代码,就能把Web服务器变成文件服务器。
不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。
(5)能将文件上传到数据库中,也能将数据库中的数据下载下来。
2附件下载
附件下载相对简单一些,可以利用JavaMailAPI得到附件的文件输入流,在设置html文件的头,就能下载附件。
2.2.3MIME邮件
1MIME协议
RFC822文档定义了邮件内容的主体结构和各种邮件头字段的详细细节,但是,它没有定义邮件体的格式,RFC822文档定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 POP3 电子邮件 系统 设计