您现在的位置:网站首页答辩论文计算机毕业设计相关计算机毕业设计

基于Java的邮件系统研究与实现(硕士论文)

  • 简介: 本文总字数:27026字 摘 要在Internet迅猛发展的今天,电子邮件已经成为信息交换的重要载体,是目前Internet上最常用的功能。目前我国的企业邮箱应用有三种...
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载

本文总字数:27026字

摘 要
在Internet迅猛发展的今天,电子邮件已经成为信息交换的重要载体,是目前Internet上最常用的功能。目前我国的企业邮箱应用有三种方式:免费或收费的公用电子邮箱、工作流软件、免费软件和共享软件。其中,由于投资少和免维护,使用免费或收费的公用电子邮箱最普遍,但是它的弱点也很突出,速度受Internet接入速度的限制、经常需要处理大量垃圾邮件,且无法保证安全性和服务质量。以微软的Ms Exchange和IBM的Lotus Notes为代表的工作流软件功能丰富,扩展能力强,但价格十分昂贵,管理和维护的复杂度也相应较高。以Sendmail和Qmail为代表的免费软件和共享软件应用可随时下载新版本安装,其缺点是安装维护困难、缺乏技术支持、不支持嵌入式开发、在其它不同的操作系统上运行需要重新编写软件代码。
针对以上问题,“一种跨平台的邮件系统”使用Java语言进行实现。该系统工作平台采用Unix系统,为邮件服务系统提供彻底的稳定性保障。采用基于线程池的SMTP服务器、POP3服务器架构,支持软件升级,构建适合中小型企业应用的具有高性能、高可靠和卓越的安全性的跨平台的专业邮件系统。另外系统还可以作为嵌入式开发的参考系统,便于以后可以更广范围的应用扩充。邮件系统采用适合用于实现高性能的邮件服务器的基于线程池的SMTP服务器、POP3服务器架构,采用并实现了线程驱动机制,所有操作使用线程运行;服务器内部实现了域名解析机制,并实现域名/地址缓存;将数据库技术引入到用户的管理模块。使用的数据库动态配置技术,使用户管理模块能够独立于数据库;用户数据缓存减小了系统的I/O操作,有助于系统性能的提高;利用了Java语言作为开发工具,使系统具有了跨平台能力。Java语言的垃圾回收机制,既防止了内存泄漏,又提高了服务器的性能。
实例运行表明,邮件系统在负载为5000用户的情况下,以25msgs/sec的速度处理邮件,也就是说每天可以处理216万封邮件(平均每封邮件约30KB),具有较高的性能。


关键词:电子邮件,日志管理,线程池,域名解析,邮件发送和接收协议

A tract
With the development of Internet, email has become the important media of information communication, and is also the most general functionality of Internet. At present,The using of enterprise postbox in our country has three kinds of ways: Using the free or charging public email; Using the workflow software; Using the free or shared software. Among them, because the little investment and non-maintaining, it is most general to use the free or charging public email. But its weakne stre es very much, the eed is restricted by the i erted eed by Internet, often needs to deal with a large amount of ru ish mails, and unable to guarantee the security and service quality. The function of software is abundant that represented by Ms Exchange of Microsoft and Lotus Notes of IBM, it is strong to expand ability, But the price is very expe ive, the complexity managed and safeguarding is corre onding and relatively high. Free software and shared software represented by Sendmail and Qmail can be downloaded to i tall at any time to use, its’ shortcoming is difficult to i tall and safeguard, it lacks technical su ort, it does not su ort embedded development, and it needs to write the software code again on other different operating systems.
Aimed at the problems above, A cro -platform mail system uses Java to realize. The work platform of this system adopts Unix system, offering the thorough stability guarantee for service system of mail; Adopts SMTP server、POP3 server, su ort the software to be upgraded .The ecialized mail system is structured for small and medium enterprise, which features high performance, high reliability and significant security with self-property right. In addition, the system can also be as the reference system of embedded development .The mail system use thread-driven mechanism; every operation is performed by thread; the server internally su orts domain resolution, and implements domain/addre cache and the user management module uses the techniques used in database. The dynamic database configuration technique makes the user management independent of database; user data caches reduce system I/O, and improve the system performance; using Java as implementation tool makes the system cro -platform. The garbage collector of Java not only prevents memory leakage, but also improves the system performance.
The test result reveals that in a situation that loading 5000 users the mail system can deal with the mail at the eed of 25 msgs/secs, that is to say it can deal with 2,160,000 mails every day( each mail and about 30 K on average ), having relatively satisfactory performance.
Keywords: Email, Log management, Thread pool, Domain Name System resolving,
Simple Mail Tra fer Protocol, Post Office Protocol version 3

目 录
摘 要 I
A tract II
1 绪论
1.1 引言 (1)
1.2 国内外研究现状 (2)
1.3 主要工作与本文组织 (6)
2 系统框架及特色
2.1 总体结构 (7)
2.2 电子邮件系统的特点 (17)
2.3 小结 (18)
3 电子邮件服务器系统结构
3.1 I/O模型分析 (19)
3.2 几种服务器结构研究分析 (20)
3.3 小结 (25)
4 电子邮件服务器的实现
4.1 功能/性能目标 (27)
4.2 系统模块构成及实现 (27)
4.3 小结 (34)
5 功能及性能测试
5.1 测试项目 (35)
5.2 功能测试 (35)
5.3 性能测试 (37)
5.4 小结 (40)
6 结束语 (41)
致 谢 (43)
参考文献 (44)


1 绪论
本章首先概述电子邮件系统产生的背景,接着介绍电子邮件系统的国内外研究现状及工作原理,分析现有电子邮件系统已经取得的成果及存在的不足,在此基础上提出一种适合中小型企业应用的功能完善性价比高、管理维护简单的专业邮件系统,最后介绍本文组织与各章安排。
1.1 引言
电子邮件是Internet服务的重要组成部分。随着Internet技术日新月异的发展,电子邮件以其方便、快速、廉价和可靠的特点越来越赢得人们的喜爱。现在,电子邮件已经成为学术界、商业界最为流行的一种通信方式,和国外进行学术交流更少不了电子邮件。
从实际应用上讲,目前全球网页访问量中有66%以上与电子邮件相关。通过电子邮件,用户可以与远地用户进行迅速、方便的联系,而且费用低廉。同时,电子邮件可以以嵌入方式传送多种类型的信息,如文本、图像、声音、视频等。还可以利用数字签名与认证、PGP加密等技术来保证电子邮件传递的安全性与可靠性。正是由于电子邮件系统的这些良好特性,越来越多的用户采用基于电子邮件系统的应用,诸如电子杂志订阅系统、客户订货系统、新产品发布系统等等。在商务界,电子邮件已经或正在取代信件、文件以至电话而成为最常用的通信联络方式[1]。对企业而言,电子邮件在企业业务中所发挥的作用已经越来越突出。
分析目前的市场状况,我国的企业邮箱应用有三种方式:免费或收费的公用电子邮箱、工作流软件、免费软件和共享软件。其中,由于投资少和免维护,使用免费或收费的公用电子邮箱最普遍,但是它的弱点也很突出,速度受Internet接入速度的限制、经常需要处理大量垃圾邮件,因为是公用系统,也因此无法保证安全性和服务质量,目前,有些免费邮箱开始走向收费。以微软的Ms Exchange和IBM的Lotus Notes为代表的工作流软件是以Email为基础实现工作流业务的系统软件,它们功能丰富,扩展能力强,但价格十分昂贵,管理和维护的复杂度也相应较高。以Sendmail和Qmail为代表的免费软件和共享软件应用可随时下载新版本安装,其缺点是安装维护困难、缺乏技术支持,因而需要管理员具备非常丰富的专业知识;而且不能将源码修改后的版本用于商业用途[2-3]。
从这三种企业电子邮箱应用方式中可以看出,市场上缺少适合中小型企业应用的功能完善性价比高、管理维护简单的专业邮件系统。特别针对以后的嵌入式应用,更需要跨平台的专业邮件系统。作为企业信息的主要组成部分,这些企业强烈需要高性价比、极易实施和低维护成本的邮件系统解决方案,需要企业邮件系统具备高性能、高可靠性和卓越的安全性。企业邮件系统核心部分是服务器,国内企业对邮件系统的需求也主要是对构建邮件系统的核心服务器的需求。
正是基于目前服务器市场的切实需求,将对新一代的邮件系统着手开发具有自主知识产权的专业邮件系统。本文将对专业邮件系统的实施中的关键要素进行讨论,并且设计和实现了一个基本的邮件系统。
1.2 国内外研究现状
据C IC去年的一份调查报告显示,到2000年,全球电子邮箱注册数已达5.14亿,全世界平均每日发送邮件已高达100亿封。我国网民的电子邮件账号总数已超过了7000万个,电子邮件已经当之无愧的成为Internet的第一应用。随着电子邮件技术发展为多网合一的沟通工具,企业自建邮件系统已成为商业沟通和客户关系管理的利器,电子邮件技术的应用已成为企业进入信息化管理关键的一步。本节将详细介绍几种有代表性的电子邮件系统,并介绍电子邮件系统的基本原理及相关协议。
1.2.1 主要电子邮件系统
由于Email是互联网上最常用的联系工具国内外各大厂商和顶尖技术高手纷纷推出了自己的邮件系统平台。
(1)Ms Exchange和IBM的Lotus Notes为代表的工作流软件
在Microsoft NT平台上,常用的邮件系统软件有Exchange和Lotus Notes,两者作为成熟的商业软件,拥有大量的用户基础目前大型门户网站的邮件系统。这种邮件系统通常是由内部人员自行开发的,它们功能丰富,扩展能力强,但价格十分昂贵,管理和维护的复杂度也相应较高,一般需要十几个高级技术人员专门维护,并依赖于昂贵的硬件支持。高昂的成本使企业在开展邮件服务时望而生畏。除此之外,该类电子邮件系统在满足电子邮件应用的具体需求上,还存在着种种缺憾[4-5]。
Exchange Server,该邮件系统只能运行在Windows NT上,Windows NT本身的不可靠、不稳定决定了Exchange Server的不稳定、不可靠。Exchange Server具有严重的内存泄漏问题,随着系统运行时间的增加会越来越慢,平均1周至少要重新启动一次。Exchange Server对邮件账户的支持是非常有限的,一般超过200个用户时系统运行效率就会非常慢,要提高效率只能依赖于昂贵的硬件。Exchange Server的安全性和功能很弱,很容易被外界用来转发邮件,甚至冒充内部人员发送垃圾邮件。Exchange Server经常会出现系统异常故障,造成无法正常收、发邮件,需频繁地重新启动服务器和清理邮件系统[6-7]。
Lotus Notes基本上还是一套OA和工作流系统,其邮件功能非常有限,从国内的Notes客户反映来看,经常出现如下的问题:
①邮件系统经常不能正常收发,需频繁的重启服务器或清理邮件系统;
②经常被外界利用来转发邮件;
③一些邮件服务系统发来的邮件,系统收到为乱码;
④OA功能丰富,但邮件系统不够可靠,效率低,超过300人时,收信速度明显变慢[8-9]。
(2)Sendmail和Qmail为代表的免费软件和共享软件
许多 Linux 操作系统免费提供 Sendmail 或 Qmail, 满足一定量用户的基本邮件收发需求。Sendmail 无论从使用的广泛程度,还是从代码的复杂程度来讲,都是一个非常优秀的软件。如果使用它来构建网站的电子邮件系统,基本上不必费心,因为几乎所有的Unix的缺省配置中都内置这个软件,只需要设置好操作系统,它就能立即运转起来。但Sendmail中包含的各个不足之处。第一个重要的缺点是它的安全性较差,这是因为当其作者Eric Allman最初开始写作这个软件的时候,Internet的用户还很少,因而安全性并不没有得到大家的重视。由于邮件系统需要处理的是外部发送来的各种各样的信息,甚至包含一些恶意数据,然而Sendmail在大多数系统中都是以root身份运行,一旦出现问题,就会对系统安全造成严重影响。在这种情况下,要防止出现安全问题,仅仅依赖程序本身是不可取的,应该从系统结构出发,使程序拥有的特殊权限限制到最小。 也是由于其早期的Internet用户数量及邮件数量都相当小,Sendmail的系统结构并不适合较大的负载,对于高负载的邮件系统,需要对Sendmail进行复杂的调整[10-11]。例如,通常情况下Sendmail只启动一个进程顺序向外发送邮件,如果邮件较多时就要花费相当长的时间。使用Sendmail还会遇到的另一个问题是它的设置相当复杂,对于使用缺省设置来收发电子邮件,问题并不存在。当管理员打算进行一些特殊设置,以便利用Sendmail提供的复杂邮件处理能力时,就不得不面对复杂的宏和正则表达式。虽然现在Sendmail使用了宏预处理程序m4使设置更易于理解一些,但是掌握Sendmail的设置仍然是对系统管理员的一大挑战[12]。
使用Qmail替代Sendmail 。为了解决Sendmail的安全问题,整个系统结构需要重新设计。基本的原则是将系统划分为不同的模块,有负责接收外部邮件的,有管理缓冲目录中待发送的邮件队列的,有将邮件发送到远程服务器或本地用户的。Qmail就是按照这个原则进行的设计,它由多个不同功能的小程序组成,只有必要的程序才是setuid程序(即以root用户权限执行),这样就减少了安全隐患,并且由于这些程序都比较简单一些,因此就可以达到较高的安全性[13]。 这种按照Unix思路的模块化设计方法也使得Qmail具备较高的性能,因为如果需要,Qmail可以启动某个模块的多个实例来完成同一个任务,例如启动多个发送程序同时向外发送邮件,这对于提供邮件列表服务的邮件系统是非常有益的。这种方式也使得Qmail要占用较大的网络带宽,如果带宽有限,效果反而不好,但在当前网络性能大幅度提高的情况下,这种方式是非常合适的[14-15]。
Qmail还提供一些非常有用的特色来增强系统的可靠性,例如,它提出了Maildir格式的邮件存储方式,这使得通过网络文件系统NFS存取邮件成为可能。此外,Qmail还具备一些非常别致的特色,它不仅仅提供了与Sendmail兼容的方式来处理转发、别名等能力,还可以用以Sendmail完全不同的方式来提供这些功能。从它的编译安装方式、提供的扩展功能和源代码的风格,可以看出其作者Dan Ber tein是一个极具个性化的程序员[16]。正因为如此,对于Qmail的某些方面,有着一些争论,例如有些人认为Qmail的安装设置并不易于理解,很容易让人胡涂,而另一些人的看法则相反。基本上这是因为Qmail提供解决问题的方式,和Sendmail不大相同的缘故,这样对那些不太熟悉Sendmail的邮件系统管理员,反而更容易接受Qmail一些。

查看评论 已有0位网友发表了看法
  • 验证码: