【Java精品源码栏目提醒】:网学会员--在 Java精品源码编辑为广大网友搜集整理了:基于LDAP和JAVA技术的邮件系统设计及实现 - 开发文档绩等信息,祝愿广大网友取得需要的信息,参考学习。
论文分类号 TP393.098 单 位 代 码 10183 密 级 内部 研 究 生 学 号 4200069 吉 林 大 学 硕 士 学 位 论 文 基于LDAP和
JAVA技术的邮件系统设计及实现 Design and Implementation of the Mail System Based on LDAP and
JAVA Techniques 作者姓名王卫军 专 业计算机应用 导师姓名: 付晓江 职 称副教授 论文起止年月2002年3月至2003年3月 吉林大学计算机系硕士论文 第i页 摘要 为了使得邮件系统能与其它服务共享信息同时提高系统的安全性和可移植性本文在分析邮件服务组成的基础上提出了基于LDAP和
JAVA技术的邮件系统模型。
在实际应用中利用JAVAMAIL和JNDI技术实现了基于Qmail的WemMail系统用JSP代替了普通的WebMail系统中的CGI作为前端在后台用目录服务替换数据库并且将LDAP与SASL集成实现了基于LDAPS的用户认证和管理同时系统提供的短信提醒和自动回复功能也减轻了用户的负担所以在安全性、移植性、系统效率等方面与普通邮件系统相比有了质的飞跃。
本文提出的大规模电子邮件系统解决方案成本低、系统开放、便于维护具有极强的可扩展性能够满足很多场合下的需要。
关键词Qmail LDAP目录服务 JavaMail JAVABEANS激活架构JAF
JAVA命名和目录接口JNDI 吉林大学计算机系硕士论文 第ii页 Abstract In order to make mail system sharing information with other systems improve the security and transplantation of the system a mail system model based on LDAP and
JAVA on the basis of analysing the components of an email service is put forward. In the practical application it implements a Webmail system based on Qmail through using JAVAMAIL and JNDI techniques takes JSP as forward platform through replacing CGI of the normal Webmail uses directory service to replace database implements the combination of LDAP and SASL implements the user’s authentication and authorization and the functions of short message and auto reply provided by the system can alleviate the user’s burden therefore it has a real leap comparing to normal mail system in the security transplantation and system efficiency. The large scale mail system resolution put forward by the paper is low-cost open easily maintenance and strong extensible. So it can fit the user’s demands in many cases. Key Words: QmailLDAP Directory ServiceJAVAMAILJAFJNDI 吉林大学计算机系硕士论文 第I页 基于LDAP和
JAVA技术的邮件系统设计及实现 目 录 摘要.............................................................................................................................................i Abstract......................................................................................................................................ii 基于LDAP和
JAVA技术的邮件系统设计及实现..................................................................I 目 录.........................................................................................................................I 第一章 绪论.................................................................................................................. 11 国内外研究现状.................................................................................................... 12研究内容所属领域和理论意义............................................................................. 第二章 邮件系统概况.................................................................................................. 21体系结构................................................................................................................. 22大容量基于Web的Email系统........................................................................ 23邮件服务器要求的特点..................................................................................... 24邮件客户端要求的特点..................................................................................... 第三章 自主开发背景.............................................................................................. 第四章 系统设计思想.............................................................................................. 41系统设计框架..................................................................................................... 42系统具备的功能................................................................................................. 第五章 邮件系统基本概念原理.............................................................................. 51SMTP服务........................................................................................................... 52MIME服务.......................................................................................................... 53POP3服务............................................................................................................ 54IMAP服务........................................................................................................... 55过滤服务............................................................................................................. 56列表服务............................................................................................................. 57安全服务............................................................................................................. 第六章 基于LDAP和
JAVA技术的邮件系统....................................................... 1邮件服务器后台................................................................................................ 2Web Mail............................................................................................................ 3LDAP目录服务器............................................................................................. 第七章 利用Javamail和JAF技术实现Webmail.................................................. 41JAVAMAIL中的中文解决方案......................................................................... 42发送SMTP服务器身份验证的邮件................................................................. 43发送含有多附件的邮件..................................................................................... 44从邮件服务器下载附件..................................................................................... 45邮件磁盘空间的限额......................................................................................... 46短信提醒功能..................................................................................................... 第八章 利用JNDI和ldap实现地址簿................................................................... 吉林大学计算机系硕士论文 第II页 81LDAP简介........................................................................................................... 82JNDI简介............................................................................................................ 83地址簿实现......................................................................................................... 第九章 系统技术难点.............................................................................................. 91显示复合邮件..................................................................................................... 92负载均衡............................................................................................................. 93系统安全............................................................................................................. 94用户认证与管理................................................................................................. 第十章 总结.............................................................................................................. 附录...................................................................................................................................... 1 qmail-1.03vpopmailldapimap linux7.2安装指南.............................................. 2系统界面一览........................................................................................................... 参考文献.............................................................................................................................. 应用实例.............................................................................................................................. 硕士研究生学术论文.......................................................................................................... 致谢...................................................................................................................................... 论文摘要.....................................................................................................................................I Abstract....................................................................................................................................IV 吉林大学计算机系硕士论文 第页 第一章 绪论 随着互联网的不断普及我国的Internet用户群体正在飞速地膨胀。
而作为人们信息交流必要手段之一的电子邮件系统也正在逐步受到政府、公司、集团以及众多ISP的重视各行各业都希望建立起自己的高性能邮件系统。
而现在的以Unix为平台、基于Sendmail的邮件系统存在着功能单一、容量小、安全性比较差等多方面缺陷已经不能够适应用户迅速增长的需要而且专用邮件服务器的成本也非常昂贵1。
与此同时涌现了一批优秀的开放源代码的邮件服务器产品其中最流行的有Qmail、Postfix等。
通过对这些产品进行综合评测并参考用户的实际使用情况可以发现从性能以及功能特性的角度来看开放源代码软件的质量与同类的商业产品比并不逊色甚至在有些方面更加优越只是在方案的设计和安装、维护过程中需要有关人员具有更高的技术素质。
因此如果有足够的技术力量基于开放源代码软件邮件系统对于用户来说是一种经济可行的选择。
同时在电子邮件服务用户数量巨大的情况下除了选择出色的产品之外设计良好的系统方案、对系统采用各种优化措施也是确保系统在重负载下正常运行所必须的。
此外电子邮件用户的账户信息管理也是一个重要的问题。
独立的账户存储不利于与其它系统的兼容理想的方案是能够通过一种统一的方式来进行管理使得这些账户信息能够被向用户提供的其它服务如代理服务、防火墙等所共享并能够被高效的检索2。
为了解决以上矛盾我们提出了在Linux环境下以自由软件Qmail为邮件服务器利用Openldap来进行集中式认证和授权同时利用SUN公司提供的JAVAMAIL API来开发WEB MAIL的邮件系统设计方案。
这个方案的特点是邮件系统跨平台、容量大、成本低、安全性高、功能强、可伸缩性好。
吉林大学计算机系硕士论文 第页 基于Linux上的Qmail邮件服务系统比起Windows平台上的邮件服务系统却有着相对安全、高效、稳定、硬件要求低的特点而且Linux是一个免费软件决大部分在Linux上运行的软件包括邮件服务器软件也是免费的。
因此基于Linux上的邮件服务便成为一种高性能价格比的邮件服务解决方案这一点已经得到业界愈来愈多的承认。
而Qmail以其方便的设置、高安全性、可扩展性的特点无疑成为众多基于Linux上的邮件服务系统的佼佼者3。
11 国内外研究现状 qmail的第一个beta版是0.70版发布于1996年1月24日随后在1996年8月1日发布了第一个gamma版是0.90版。
第一个正式版是qmail1.0是在1997年2月20日发布的。
目前的最新版本是qmail1.03版于1998年6月15日发布。
根据在因特网上的随机抽样统计在1996年11月大约有80的邮件系统使用的是SendMail其后是Smail、PostOffice、Netscape Mail Server、Slmail、Zmailer等等MTA使用qmail的用户还很少但是到了1998年5月经统计发现已有522个域名为.Net的ISP服务器使用qmail做邮件服务器数量仅次于SendMail、PostOffice、Imail、MS Exchange以及NT Mail。
近年来特别是qmail1.03发布后qmail的影响正在迅速增加2000年10月的统计显示使用qmail的用户已经到了9远远超过了SendMail之外的其他Linux下的MTA4。
预计qmail的下一个版本将是2.0新版本的改进重点将放在提高整个邮件系统的速度上。
同时新版本还将提供动态的邮件列表。
对于一个完整的邮件服务系统来说MUA是一个非常重要的功能模块。
通过MUA邮件用户的PC机上只需要安装一个浏览器就可以很方便地收发邮件或者更改用户设定免去了在一般邮件客户端程序中的需要设定服务器的麻烦。
吉林大学计算机系硕士论文 第页 由于几年前免费邮箱网站的蓬勃发展INTERNET上出现的支持qmail的MUA种类可谓数不胜数。
比较知名的免费MUA有SQWEBMAIL、IMP、OMAIL等等。
以前的MUA的实现不外乎以下两种模式比较传统的CGI和比较新的PHP。
相比较而言用CGI写成的MUA安全性会好一些但是开发、调试起来比较麻烦而用PHP写的MUA在用户数量比较少时速度还可以安装和二次开发也相对容易。
迄今为止利用JavaMail开发的完整的MUA基于qmail寥寥无几当前国内著名的提供免费邮件服务的门户网站如163、263、新浪等都是采用qmail作为邮件服务器采用NFS网络文件系统作为用户邮件存储空间使用Maildir作为邮件存储格式但MUA都是在免费的qmail插件Sqwebmail的基础上进行二次开发以此来形成自己独特风格的MUA。
目录服务以其支持分布式环境、安全可靠、灵活方便等优势正从提供用户信息查找、黄页服务等走向网络管理的舞台并成为下一代智能化网络管理的核心部分。
采用目录服务进行网络管理已经成为网络发展的一种必然趋势。
我国对目录服务的研究和应用也日趋重视“九五”期间“分布式中英文目录服务系统”作为国家重点科研项目“计算机信息网络及其应用关键技术研究”的子课题立项。
目前已经开发出的支持目录服务的服务器软件有很多如Netscape公司的Directory Server、密歇根大学在Linux平台下开发的OpenLDAP等这几种流行的目录服务器软件在运行平台、功能、结构等方面各有千秋但对于目录服务的管理和访问却不够友好缺乏一个简单直观、使用方便的用户界面。
因此使用
Java命名与目录接口JNDI将人们熟悉的WEB MAIL访问方式与目录服务结合在一起是推广和应用目录服务的一种有效途径5。
所以用JavaMail来独立自主的开发一套基于qmail邮件服务器、支持LDAP目录服务的MUA提供完善的邮件服务功能形成自主知识产权的产品这就是本项目的宗旨。
吉林大学计算机系硕士论文 第页 12研究内容所属领域和理论意义 qmail是一个基于Linux/Unix操作系统的高度模块化、大容量、高性能邮件服务器它的作者是美国芝加哥伊利诺斯州大学的数学教授Dan BernsteinDJB与其它的Internet邮件传输代理Internet Mail Transfer Agent简称MTA相比qmail具有以下优点安全、可靠、高效、简单。
正是基于这些优点所以我选用qmail作为本项目的邮件服务器。
目前电子邮件已成为网络用户之间快速、简便、可靠且成本低廉的现代通信手段也是因特网上使用最多的一项网络服务。
对于生活在现代化经济中的企业、公司、单位系统电子邮件的重要性就象电力、水、空气一样现代企业早已通过电子邮件取代传统的信函、传真等办公方式一些先进的安全加密技术手段如DES加密/解密技术、非对称密钥加密技术、数字签名技术、数字信封技术等被用来保证电子邮件的可信度、保护邮件传递的保密性、完整性及抵赖性。
向单位用户提供方便、更快捷和更有安全性的电子邮件服务将会是因特网未来最有前途的业务之一。
随着WEB浏览器技术的成熟和普及以Hotmail公司为代表的免费电子邮件网站提出了全新的基于WEB邮件收发方式。
这种WEB-EMAIL方式不需要专门的客户端软件仅通过普通浏览器就可以进行邮件收发方便了很多以前从未接触电子邮件的初学者掌握其使用方法满足了大量用户简化软件设置、邮件可移动获取的需求促进了电子邮件在最近两年上网的用户中的普及。
邮件用户代理Mail User Agent简称MUA是在邮件系统上加入基于WEB的邮件客户端其功能类似个人计算机中的OutLook或FoxMail负责给用户提供通过POP3、IMAP等标准协议访问邮件服务器来获得用户的邮件其直接的好处就是WEB客户端和EMAIL服务器相分离提高了系统的安全性。
综观国内外已有的MUA软件绝大部分都是用CGI开发的开发语言为C这样做的好处是因为Linux和qmail本身都是用C语言开发的利用C语言吉林大学计算机系硕士论文 第页 来开发MUA可以提高安全性和兼容性但是这样做使得程序开发者必须了解很多协议级的细节内容。
这对于一个对SMTP、POP3和IMAP协议不是很熟的程序员来说是非常困难的事而JavaMail API是SUN公司最新开发的邮件API可以完成复杂的邮件处理。
在JavaMail规范中提供了一些抽象类的集合这些抽象类为通常的邮件系统定义了通用的类和类的接口。
通过为邮件的会话、消息、传输和存储定义接口SUN对当前正在使用的许多协议给
JAVA程序员提供了容易使用的、可扩展的、面向对象的视图6。
所以利用JavaMail来开发基于qmail邮件服务器的MUA并不需要知道邮件协议层的实现细节。
该项目的实现对JavaMail在邮件系统中应用有重要意义同时也为开发基于qmail邮件服务器的MUA提供了另一种思路。
第二章 邮件系统概况 电子邮件是计算机用户用来相互发送信件的一组机制。
最初电子邮件被设计为传统的办公室备忘录的简单扩展一个用户写好一封信提供一个或多个收信人地址然后发送。
这封信最终到达它的目的地收信人使用一个程序就可以程序就可以看到信的内容。
Internet电子邮件由一组RFCRequest for Comment文档定义这些文档由IETFInternet Engineering Task Force出版它一开始是在Internet的早期设计的那时大多数用户是Internet研究和开发群体的一部分。
随着Internet由越来越多的大学、企业和用户访问Internet电子邮件也得到了很大的发展它已经成为今天使用的更常用的邮件系统之一。
电子邮件不仅是Internet上最早大量使用的应用程序之一而且有越来越发展壮大的趋势。
几个新的应用程序协议正逐渐替换老的协议或者使这些老协议越发不被利用。
例如WWWWorld Wide Web老的FTP文件传输协议仍广泛使用但WWW已经不怎么使用FTP进行文.