(电路与系统专业论文)基于linux的web邮件系统的设计.pdf_第1页
(电路与系统专业论文)基于linux的web邮件系统的设计.pdf_第2页
(电路与系统专业论文)基于linux的web邮件系统的设计.pdf_第3页
(电路与系统专业论文)基于linux的web邮件系统的设计.pdf_第4页
(电路与系统专业论文)基于linux的web邮件系统的设计.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(电路与系统专业论文)基于linux的web邮件系统的设计.pdf.pdf 免费下载

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

文档简介

耻b d s i i 粉r si 皈i i e s ,、 摘要 随着网络技术的发展,电子邮件给众多用户提供了一种方便、快捷的通 信方式,逐渐成为人们生活不可缺少的一部分。如何给用户提供更方便的电 子邮件功能,给管理者提供更方便的管理功能,也因此成为一个值得探讨的 问题。 本文主要介绍了目前最流行的基于嵌入式l i n u x 的w e b 邮件系统的设 计。在说明了邮件系统的收发及传输原理的基础上,对基本邮件软件q m a i l 的 收发机制进行了详细的阐述。作者在仔细研究了q m a i l 软件的源代码结构的基 础上,对其进行了修改,将q m a i l 邮件基本系统与嵌入式数据库m i n is q l 融 合在一起,实现对虚拟域和邮件用户的数据库管理,使系统用户和邮件用户 分离。 对于垃圾邮件的处理,作者针对q m a i l 本身源代码的结构以及收发邮件 的机制,设计系统级和用户级两级过滤机制,初步实现对部分垃圾邮件的接 收的控制。 整个系统的应用,无论是管理端还是用户端,都是通过w e b 实现的。由 p h p 和a p a c h e 共同提供w e b 服务,这样使管理员的管理操作更加方便、简 洁,相对远程登录的方式来说也更加安全,同时也方便了用户对邮件的操 作。 文章最后对整个系统的性能做了简单的归纳总结,并给以后系统的改进 提出了建议。 关键词q m a i l ,w e b 邮件系统,嵌入式数据库,垃圾邮件过滤 硕士学位论文 n ”i r s j i e s i s a b s t r a c t w i t ht h e r a p i dd e v e l o p i n g a d p o p u l a r i z i n g o fn e t w o r k ,e - m a i lh a sb e e n b e c o m i n g an e c e s s a r yp a r to f d a i l yl i f ef o rc o m m u n i c a t i o n i t i si m p o r t a n tt om a k e i tm o r e c o n v e n i e n t l yf o rm a i lu s e ra n dm a n a g e ro fm a i ls y s t e mm a n yp e o p l ea r e c o n c e r n e da b o u ti t b a s e do nt h ee x a m i n i n ga n da n a l y z i n go f t h ed e v e l o p i n g ,d e s i g na n dw o r k i n g p r o c e s s o fe x i s t i n ge - m a i ls y s t e m ,t h i st h e s i sp r e s e n t st h ei m p r o v i n gw o r ko f w e b m a i lo nt h eb a s eo f e m b e d d e dl i n u x t oc o m b i n et h eq m a i lp r o g r a mw i t ht h em i n i s q ld a t a b a s eb ym o d i f y i n gt h e r e s o u r c eo fq m a i l ,t h ed u m m yr e g i o n sa n dt h em a i l u s e r sc a nb em a n a g e di nt h e d a t a b a s e m o d i f y i n gt h e r e s o u r c eo ft h es t r u c t u r eo fq m a i l ,as c h e m eo ft w ol e v e l s f i l t r a t i o nt oc o n t r o lp r e p a r a t o r yg a r b a g e m a i l sw a sd e s i g n e d 1 1 1 eg a r b a g e m a i l sa r e c o n t r o l l e dp r e p a r a t o r yb y t h i sm e a n s t h ew e bs e r v i c e ss u p p o r t e db yp h p a n d a p a c h em a k e t h eo p e r a t i o n se a s i e ra n d s a f e rf o r t h em a n a g e r sa n dt h em a i l u s e r s t h e c a p a b i l i t i e so f w h o l es y s t e mw e r ea n a l y z e ds i m p l ya n ds o m es u g g e s t i o n s f o rt h em a i ls y s t e ma r ep u tf o r w a r di nt h el a s to f t h ep a p e r k e y w o r d sq m a i l ,w e b m a i ls y s t e m ,e m b e d d e d d a t a b a s e ,g a r b a g e m a i l f i l t r a t i n g i i - 硕士学位论文 l sf e i , sr i ii f , s i s 第一章绪论 1 1 电子邮件系统概述 1 1 1 电子邮件系统的发展 电子邮件的由来可以追溯到1 9 7 2 年,当时美国国防部国防高级研究计划 署建立的世界上第一个网络a r p n e t 网络网点数已达4 0 个,这4 0 个网点之 间可以互相发送小文本文件,被称之为电子邮件,即现在的e m a i l 。此 后,随着网络的迅速发展,网络协议的制定,电子邮件的传输也有了相应的 标准。 1 9 8 2 制定r f c 8 2 1 简单邮件传输协议( s m t p ) 19 8 2 制定r f c 8 2 2a r p a 互联网文本信息标准格式 1 9 8 4 制定p o p 邮局协议 1 9 8 6 d n s 代替h o s t 文件 1 9 8 8 制定i m a p 互联网信息访问协议 1 9 9 2 制定m i m e 多用途互联网邮件扩展标准 这些协议的制定标志着电子邮件不断的走向规范化,也给以后电子邮件 的飞速发展奠定了基础。整个电子邮件系统的发展经历了下面几个阶段: 第一阶段:早期大型机电子邮件系统 两个大型机的用户,每一个分别通过不同的终端连接到同一台主机,希 望在他们之间共享信息,简单的方法就是建立一个能够直接给其他用户终端 发送文本消息的系统。该系统的底层要求两个用户同时登录到大型机上。随 着大型机消息系统变得更加流行,用户希望给其他没有登录到主机上的用户 发送消息,这样,一个为各用户存储消息的系统诞生了,其结构如图卜1 所 示: 硕士学位论文 i a 钳e k 、1 j 1 1 1 5 , 1 1 大型机消息系统 消息存储系统能够给没有登录的用户发送消息,这需要设计一个能够为 用户存储和恢复消息的系统,因此邮件软件变得比以前复杂。 第二阶段:多主机邮件系统 随着大型机的成熟及通信系统的完善,不久一些复杂的专有协议就被用 来在两个主机之间传输数据,如图卜2 所示: 主机主机 1 2 多主机通信模型 在多主机环境下,对用户的标准命名变得必不可少,由于多主机加入了 通信系统,每一台计算机都需要有唯一的名字来进行识别。要能够成功的把 消息传递到主机上正确的用户,必需要有用户的电子邮件地址和对应的主机 名,这是现在电子邮件系统的最初模型。 第三阶段:e u r o d a 电子邮件管理系统 最初,电子邮件并不引人注目,但随着网络和个人电脑的发展,电子邮 件逐渐成为一种主流。使电子邮件成为主流的第一个程序是e u r o d a ,这个程 序是由史蒂芬道纳尔编写的。e u r o d a 是第一个有图形界面的电子邮件管理程 序,使用了p o p 协议进行邮件的收发。可以离线和在线操作。由于使用方 2 射m a s f e 靴r s 淑t il e s 陈 便,很快成为各公司和大学校园所主要使用的电子邮件程序。然而,不久由 于n e t s c a p e 和微软推出了自己的浏览器,e u r o d a 逐步被微软所开发的 o u t l o o k 所取代。 第四阶段:i n t e r n e t 电子邮件系统 在过去几年中,基于因特网的电子邮件逐渐兴起。人们可以通过任何联 网的计算机在邮件网站上使用自己的邮件帐号,而不是只能在家中或公司的 电脑上使用邮件,这种邮件是由h o t m a i l 网站推广的。其传输模式如图卜3 卜3 邮件传输中所涉及的代理 i n t e r n e t 邮件系统由一组r f c 文档定义,在i n t e r n e t 上进行传输。一般 来说它由一个m t a ( 邮件传输代理) ,一个m d a ( 邮件投递代理) ,一个 m u a ( 邮件用户代理) 组成。 m t a 从各种来源接收邮件,在收到每个邮件时,m t a 就确定这个邮件要路 由到哪里和怎样路由,如果有必要,它重新写地址,然后再交给m o a 投递。 m d a 负责把邮件投递到另外一个位置,这个位置可以是另一个m d a 、用户 的邮箱或者执行特殊任务的应用程序。根据这次投递是成功还是产生永久性 故障或临时故障,m d a 决定这次事务分别是成功、返回一个错误给发信人或再 次重新发送。 m u a 负责为用户提供管理邮件的界面。这个管理包括查看邮件,管理邮件 夹、写邮件、发送邮件以及恢复信件等操作。 通过使用i n t e r n e t 电子邮件,电子邮件由局域网走向互联网,这也是电 子邮件兴起的一个重要因素。 硕士学位论文 n e r i l f h f 1 1 2 电子邮件系统的现状 由于电子邮件不受时间、空间的限制,用户进入互联网可以方便地使用 电子邮件( e m a i l ) 交换信息、传输文件、订阅电子杂志、参加学术讨论、举 行电子会议或查询信息,电子邮件成为最基本、最普及、最方便的网络通讯 功能。到现在为止,电子邮件已是应用于i n t e r n e t 上的最广泛、最受欢迎的服 务之一。据统计,目前我国上网用户已超过两千六百万,其中7 5 将电子邮 箱视为最常使用的i n t e m e t 服务,平均每人拥有2 7 个邮箱,平均每周收到 1 2 9 封电子邮件,发出8 2 封电子邮件t 2 1 0 并且,随着互联网的应用日益普 及与逐步深入,这些数字在不断增长。 在我国,电子邮件系统作为支撑电子服务的基础和核心,已经经历了从 传统电子邮件系统的c t o c ( c o p yt oc h i n a ) ,到电子邮件服务提供商组织技术力 量开发自己的邮件系统,再到顺应市场需求,产生满足不同用户需求的商业 化电子邮件系统产品的发展过程。 传统的e m a i l 应用模式基于客户机服务器结构,即用户使用客户端的邮 件收发工具( 如o u t l o o k 、f o x m a i l 等) 通过s m t p p o p 3 协议与提供服务的 服务器通信,这种e m a i l 应用模式的特点是必须将邮件下载到客户端进行管 理操作。在使用客户端邮件工具前,用户要进行一些必要的设置,指定邮件 服务器的主机地址和通信端口。这样的邮件收发系统一方面对刚开始上网的 用户造成了一定困难。另一方面,由于电子邮件收发系统本身存在着若干漏 洞,其中最引人注目的是接收大量的垃圾邮件与黑客利用电子邮件进行的病 毒( 如木马) 入侵,这些都需要靠人工处理。 随着w e b 技术的发展,传统的s m t p 伊o p 3 服务己不能满足当前用户的 需要。把e m a i l 和w 曲技术结合起来,通过w e b 编程和适当的系统设置, 使用户只需要访问w e b 就可以得到和使用完整的邮件服务,我们把这种系统 称为w e b m a i l 。”1 它是基于浏览器服务器方式的w e b 网页电子邮件系统,给 那些只有操作系统与浏览器的简单客户机系统以及边浏览网页边收发邮件的 i n t e m e t 用户带来了很大的方便。正因为如此,w e b m a i l 成为目前i n t e r a c t 上 最受欢迎的服务之一,是很多网站的必备功能,也是企业或校园网的内部主 要虚用之一。相对传统的e - m a i l 的应用模式,w e b m a i l 具有以下优势: 4 硕士学位论文 u e r l 蜗f e 电子邮件系统不依赖于操作系统平台。管理员和用户都只需要通过 浏览器对电子邮件系统和邮件进行操作: 用户对自己的邮箱进行操作,无需配置,直接通过浏览器登录到电 子邮件系统服务器即可; 电子邮件被保存在服务器端,不论何时何地用户均可查看,不必在 同一台计算机上浏览邮件: 现代采用w e b 方式构建邮件系统的技术主要有以下几种: 1 、分布式并行处理 分布式并行处理方式是指邮件系统采用模块化设计方式,其核心系统和 前端w e b m a i l 系统分别运行在不同的主机上,也可将软件的不同模块,如收 发模块、用户认证模块、邮件存储模块、用户接入模块等分别运行在不同的 主机上,共同来完成整个电子邮件系统的功能。如果需要的话,每一种模块 还可以再拆分在不同的服务器上运行,实现负载均衡,系统可以根据需要和 用户的使用模式进行定制。通过多机集群技术,使运营商能够处理海量邮件 的发送、管理和存储。根据负载流量管理,运营商可以掌握系统的负荷状 况,并根据业务发展需求来添加服务器。这种系统可以支持上百万乃至上千 万的用户,具有良好的扩展性。 2 、独立队列处理 当由于外界因素导致系统故障时,邮件队列处理失败的邮件将存储在缓 冲区内。系统继续利用其它工作正常的主机接管整个系统事务,直到故障排 除,再将暂时存储的队列继续进行处理。 3 、前端w e b m a il 系统与核心系统分离 邮件核心系统与前端w e b m a i1 系统相分离,核心系统和前端w e b m a il 系 统的位置相对来说很灵活,可以将邮件核心系统放置在防火墙内网内,使邮 件用户不能直接访问邮件核心系统。可以灵活配置前端w e b m a i l 系统的功 能,通过增加w e b m a i l 系统主机来获取更强的w e b 访问负载能力。这样使系 统具有良好的安全性和可扩展性。 4 、运营商非阻塞技术 硕士学位论文 n 5 i j s i e s s 很多免费邮件系统采用多线程,多进程技术,在访问量较大的时候,非常 消耗系统资源。因此这类系统的硬件配置要求往往非常高。邮件系统采用非 阻塞技术,比多线程,多进程技术占用更小的系统开销,具有更好的性能,具 有更高的并发连接数。使系统资源的开销大大降低,相同硬件设备的情况 下,系统性能表现更为出色。 5 、控制高速用户管理,认证技术 高速邮件用户管理,认证方式与系统本身紧密结合,随着运营商服务的发 展,用户管理可以随着邮件系统一同进行扩大,发展为分布并行式处理。当 邮件用户发展到非常庞大的数量,系统依然能够以很快的速度对访问用户进 行身份识别验证,对邮件用户进行管理。 6 、抗灾难能力和恢复技术 系统通过分布式并行处理技术将服务中断风险降到最低限度,当集群服务 器中某些服务器发生故障后,系统其它服务器依然能够工作,并且接管故障 服务器的工作,直到故障排除,再将工作移交回去。当机房发生重大意外事 故( 例如停电) 的时候,系统邮件队列将保存在队列缓存中,当系统恢复工 作后,邮件队列完全恢复,不会因此导致正在处理的邮件丢失。 7 、邮件安全管理技术 邮件安全管理技术现在的一个焦点就是邮件过滤技术,通过大量分析研 究国际i n t e m e t 上的垃圾邮件特征,使系统能够识别垃圾邮件,自动将垃圾邮 件拒之门外。实时监测系统收发的每个邮件,防止邮件内藏有恶意文件。或 者采用i p 记录跟踪技术,及时屏蔽黑客恶意行为等措施,防止黑客进行恶意 破坏。这样可提高系统安全性并大大降低系统维护的工作量。 1 1 3 电子邮件系统发展趋势 随着数字时代多种媒体的使用越来越广泛,传统的文字型电子邮件也有 了新的分支,如可视邮件、语音邮件等。把我们日常生活中所使用的所有的 信息( 如语音信息、视频信息等) 数码化,并采用同一种形式来进行存放, 称之为统一信息系统。“发送方可以使用电子邮件、传真、电话等任意一种 工具发出信息,这些信息经过转化和传输后集中存放在中央服务器中,而接 收方可以在任何时候、任何地点使用电话、电子邮件等任何一种工具连接到 6 硕士学位论文 h sr 匕r s f f i e s i s 系统服务器获取自己的信息。 近几年,全球信息市场已开始腾飞。首先,传统的语音网络转向i p ,语 音实际上已是数字化的数据,在i p 网络上传输语音标准已确立,使统一信息 成为可能。其次,用于语音信息、非语音信息、传真信息进行交换的协议也 被广泛接受。如v p i m ( v o i c ep r o t o c o lf o ri n t e m e tm a i l ) 不仅支持m i m e ( m u l t i p u r p o s e i n t e m e tm a i le x t e n s i o n s ) ,而且也支持新的扩展的s m t p 协 议,能够实现邮件地址与电话号码之间的转换。 电子邮件由于拥有巨大的用户数和成熟的技术,从而成为统一信息中的 主力军。用电子邮件作为载体,传送视频和音频信息的技术和规范逐渐成 熟,并且已经拥有具体的产品和用户群。利用电子邮件不仅可以和数据网络 中的用户进行交流,而且可以和移动网络中的用户进行交流。这将是电子邮 件发展的总趋势。 短期看来,由于用户对电子邮件安全、可靠性以及功能上的要求在不断 提高。因此,服务供应商必须提供更安全、更可靠、功能更丰富的服务,才 能发展业务、吸引用户,从众多竞争者中脱颖而出。如何构建高效、稳定、 安全、易用、可扩展、功能丰富的电子邮件系统是众多电信运营商、网络服 务提供商共同面临的问题。邮件服务系统下阶段的发展重点在以下几个方 面: 增加多用户模板的功能。以满足不同用户对界面的不同要求,如提供多 种邮件w e b m a i l 页面风格,提供个性化模板和多风格信纸,用户可以定义邮 件系统界面等。 增加防病毒模块,以增加e - m a i l 系统整体的安全性,利用邮件加密 和邮件签名等方法进行邮件传输。 在服务器端使用防病毒模块,杀掉邮件及附件中的病毒。邮件防毒服 务是一套邮件服务器反病毒系统,该系统具备强大的病毒查杀功能。 增加短信网关模块,以实现更多途径的沟通,如邮件到达通知及邮件内 容查询。 硕士学位论文 m h l i i l e s i s 将e m a i l 系统向统一消息系统发展,加入b b s 、聊天室等功能。语音电 子邮件网关通过文本朗读引擎,用户可以用任何一部双音频电话查询电子邮 件内容。 反垃圾邮件( a n t i - s p a m ) 为用户提供反垃圾邮件的多种过滤器,充分 保证用户受到最低限度的垃圾邮件骚扰。提供过滤器( f i l t e r ) 程序模块,为 企业用户或i s p 提供专门的消息过滤。 1 2 研究内容及意义 实现w e b m a i l 系统主要有以下两个层次的问题:一是后台服务器的搭建 和设置:二是前台的w e b 编程开发。后台的服务器包括了邮件服务器,w e b 服务器,数据库服务器。前台的开发过程主要涉及到开发工具与后台数据库 服务器和邮件服务器的交互问题。 作者在构建了基本邮件服务器的基础上,将a p a c h e 、p h p 以及m i n is q l 三者融合在一起,提供基于w 曲的数据库管理功能,为管理员提供了方便, 同时也为邮件用户提供了基于w e b 的邮件服务功能,这是整个设计的第一个 内容。 第二个内容是关于垃圾邮件过滤的设计。在垃圾邮件泛滥的今天,邮件 过滤已成为邮件服务器一个必不可少的功能。由于现有的免费电子邮件系统 ( 如s e n d m a i l 、q m a i l ) 的安全和功能以及其用户数量等方面的问题,而商业 电子邮件系统的价格非常昂贵,本文通过在开放源代码的q m a i l 系统上增加管 理功能和安全措施,开发一套适用于中小学和中小型企业的w e b m a i l 系统。 修改后的q m a i l 系统具有如下的特点和功能: 1 、基于w e b 收发邮件的功能; 2 、o m a i l 邮件帐号与系统帐号的分离; 3 、o m a i l 邮件列表功能; 4 、对虚拟域的支持; 5 、实现远程w e b 管理邮件用户及域的信息: 6 、对m i n is q l 数据库的支持; 7 、对邮件用户信息、域的信息及地址薄信息的数据库管理: 硕士学位论文 、n s if r 、1 1 i e s l s 8 、对邮件的过滤功能 硕士学位论文 l 虾r | f 5 第二章电子邮件系统的构建 2 1 电子邮件系统收发机制 2 1 1 电子邮件传输过程 p 连接 接收方 2 1 传输原理图 电子邮件传输过程如2 1 图所示,当终端用户发送一封电子邮件时,首 先试图去寻找一个信件传输代理,把邮件提交给它,信件传输代理得到了邮 件后将它保存在自身的缓冲队列中,然后根据邮件的目标地址,通过对d n s 进行查询,搜索到对应这个目标地址的邮件传输代理服务器的i p 地址,并通 过网络将邮件传送给邮件传输代理服务器。对方的邮件传输代理服务器接收 到邮件之后,将其缓冲存储在本地,并通过投递代理将邮件分发至最终用户 的邮箱,电子邮件的接收者通过用户代理查看自己的电子信箱。 在这个过程中,邮件传输代理主要负责监视用户代理的请求,根据电子 邮件的目标地址找出对应的邮件服务器,将信件传递给邮件服务器或者将接 收到的邮件缓存提交给最终投递程序。投递代理负责从信件传输代理取得信 件传送至最终用户的邮箱。用户代理接受用户输入的各种指令,将用户的邮 件传送至信件传输代理或者通过p o p 、i m a p 将信件从传输代理服务器处取到 本机上。 不管是发送过程还是接收过程,电子邮件的传输都要遵循s m t p 、p o p 3 、 i m a p 协议,这些协议确保了电子邮件在各种不同系统之间的传输。其中, s m t p 负责电子邮件的发送,而i m a p 、p o p 3 则用于接收i n t e r n e t 上的电子邮 件。 慧篡 2 1 2 电子邮件格式 电子邮件由两部分组成:一部分是邮件正文,另一部分是标题,即位于 邮件头部的一段包含发信人地址等信息的数据。1 标题由两个部分组成:一部分包含了发信人和收信人的地址信息,称之 为信封:另一部分是处理邮件的有关信息,包括邮件主题、传送邮件的m t a 程序、抄送地址以及日期等。标题的信息由回车符隔开,每一行的开头都是 域的名字,后面是冒号和域的内容。 邮件标题开始几行的内容表明了发信人是谁,以及传送邮件经过的路 径。其它内容包括日期、邮件标识号( 每个邮件都有一个唯一的标识号) 、主 题和抄送地址列表。每一行都遵循”域:值”的格式,下面的域是邮件中常见 的: 一两个f r o m 域:第一个f r o m 域的内容是邮件经过的最后台主机的地 址,第二个f r o m 域的内容是发信人地址( 有时是发信人在e t c p a s s w d 文件中 的名字) ,f r o m 域的值可以是不同的格式地址,如u u c p 格式和域名格式。 一r e c e i v e d 域:邮件每经过一台主机时,就产生一个r e c e i v e d 域,用来 记录所经过主机的地址和经过时间,这样,回复的信件就可以按原路返回, 而不必去选择路由。 一d a t e 域:记录邮件发送日期( 本地主机的日期和时间) 一m e s s a g e i d 域:邮件唯的标识号。 一t 0 域:记录收信人地址。 一s u b j e c t 域:描述邮件正文的主题。 一c c 域:记录抄送地址。 有些邮件系统还包括下面的域: 一r e p l y - t o 域:列出回复的地址。当发信人有几个邮件帐号,并且希望回 复的地址不是发信地址时,可以使用这个域。 一o r g a n i z a t i o n 域:列出拥有发信主机的组织的名称。 一由”x ”打头的域:这些域以字母”x “为标记,是在基本邮件系统的基础上 添加的属性。在源和目的双方邮件服务器都要支持这些属性的情况下,使用 这些属性才有意义。 1 i 5 士学位论文 1 s te p , s i ! s 2 2 电子邮件系统的开发平台及开发工具 2 2 1 软件平台 自从l i n u x 的第一个正式版本1 0 在1 9 9 3 年发布以后,这个操作系统迅 速的流传开去,尤其是在最近短短的几年之内得到了非常迅猛的发展,这说 明l i n u x 具有良好的特性。”1 它保留了u n i x 的大部分功能,同时具有以下主 要特性: + 内核的可裁减性,l i n u x 内核可根据需要进行裁减,以减少所占空间; 多任务支持,支持多进程同时执行,进程之间完全独立: 多用户支持,允许多个用户同时在系统上工作: 具有丰富的网络功能,支持t c p i p 、s l i p 和p p p 协议,在理论上支持 所有的网络协议; + 开放性,源代码对所有的人都是公开的: 可靠的系统安全、良好的可移植性。 多处理器的支持,l i n u x 的内核从2 0 版开始,可以在多处理器体系 结构上运行,即操作系统可以将任务分布在多个处理器上; 支持一系列u n i x 开发工具,几乎所有的主流程序设计语言都已经移植 到l i n u x 操作系统上,如c 、c + + 、f o r t r a n 7 7 、a d a 、p a s c a l 、m o d u a l 2 3 、 t c l t k s c h e m e 、s m a l l t a l k x 等,并且具有极好的性价比; + 支持不同种类的文件系统,l i n u x 支持各种各样的文件系统,最常使用 的是系统自带的e x t 2 e x t 3 文件系统;比1 l i n u x 的这些特性为我们提供最佳应用和开发环境,也给硬件平台的选择 提供了很大的自由空间。基于l i n u x 的这些优越性,我们选用l i n u x 操作系统 作为软件平台来开发w e b m a i l 系统。 2 2 2 基于l i n u x 的邮件系统开发工具 l i n u x 中的电子邮件系统包括两个组件:m u a ( m a i lu s e ra g e n t 邮件用 户代理) 和m t a ( m a i lt r a n s p o r ta g e n t邮件传送代理) 。m u a 是邮件系统 为用户提供的可以读写邮件的界面;而m t a 运行在底层,能够处理邮件的收 发工作。即用户可以通过m u a 写信、读信,而通过m t a 收信、发信。 硕士学位论文 m a s i e r sj i t t :5 i 、一, 在l i n u x 环境下有许多不同类型的m t a 程序,当前比较流行m t a 系统 有s e n d m a i l 、q m a i l 、s m a i l 。 s e n d m a i l 能实现的功能比较多,它的基本功能除了最基本的信件递送,还 包括虚拟域、消息转发、用户i d 别名、邮件列表及伪装等等,能够应用于许 多不同类型的邮件配置,通过对配置文件的配置,可以获得更好的性能。 然而不幸的是伴随着多功能性而来的是其配置文件的复杂性,这个文件复杂 到用手工很难进行配置的程度,在进行配置时通常需要运行另外个应用程 序来达到简化的目的。更重要的是,系统不支持w e b 的开发,大量处理邮件 的能力比较差。 s m a i l 的配置非常简单,它在配置和使用上稍微方便一些,它的突出优点 在于能够不使用邮件队列而将众多的邮件消息转发出去,它试图立即发送消 息,不把它们放入邮件队列中,这种方法对于小容量的邮件服务器非常有 效,但若用于大容量的邮件服务器则会陷入泥潭。 q m a i l 相对于其他m t a 程序来说,具有以下优点: + 安全q m a i l 在模块间对邮件功能进行划分,采用几种不同程序来共 同实现m t a 的功能特性,这样每个模块相对于其它模块是独立,同时q m a i l 禁止对特权用户( r o o t 、d e a m o n 等) 直接发信,保证了其安全性。 + 可靠每个消息进入q m a i l 系统之后都被放置在个邮件队列里, o m a i l 使用拥有一个邮件子且录和消息状态的系统来确保每个消息队列里的消 息不被丢失,同时q m a i l 支持新的更可靠的信箱格式m a i l d i r ,保证系统在 突然崩溃情况下不至破坏整个信箱。 高效运行在奔腾的机器上,q m a i l 每天可以轻松地投递2 0 万封电子 邮件。 简单一q m a i l 要t e 其他的i n t e m e tm a i l 系统小得多。它通过统一的向 前机制完成f o r w a r d i n g 、a l i a s 和m a i l l i s t 等功能,q m a i l 使用简单高效队列来 处理投递。q m a i l - s m t p d 可以由i n e t d 启动,节省了一定资源。 由于q m a i l 软件比较小巧,因此缺乏一些现今邮件服务器所具有的特色功 能。首先q m a i l 不对邮件信封的发送者的域名进行验证以确保域名的正确性。 其次q m a i | 不能拒绝接收地址不存在的信件,它先将邮件接收下来,然后返回 1 3 慧羔 查无此用户的的邮件。再次,当给同一个域中的多个用户发送一个邮件时, q m a i l 并行地连接多次,每次都发送一个拷贝给个用户,这样如果用户日常 要发送大邮件给多个用户,将会浪费带宽资源。最后,q m a i l 对垃圾邮件的处 理靠第三方的支持,并不可靠。 综合上述各个基本邮件系统的优缺点,对各个系统的性能大小进行权 衡,根据需要我们采用q m a i l 作为基本服务器软件,使用m a i l d i r 作为邮件存 储格式。由于v p o p m a i l 提供了大量的命令,方便建立和管理独立于系统用户 的邮件用户以及对软、硬磁盘空间限额的管理。因此在q m a i l 的基础上,我们 选用v p o p m a i l 来增强系统的虚拟域功能。 2 2 3 数据库及w e b 开发工具 现在用于w e b 开发的主流技术主要有a s p 、p h p 、j s p 三种。 a s p 适用于w i n d o w s 2 0 0 0s e r v e r 以及m ss q l ,它的开发工具十分强 大,但是由于与n t 的捆绑,其安全性、稳定性受到了影响,并且无法实现 跨操作系统的应用。“ j s p 实现了一处编写随处运行,不受不同平台的影响,具有强大的可伸 缩性和强大的生命力,不过也正是这些优势也导致了其产品的复杂性,以及 运行效率很低。 p h p 是“超级文本预处理语言”的缩写,它是一种类似a s p 的易学的 脚本语言,语言风格类似于c 语言,是目前最为流行的w e b 脚本语言之一。 由于它产生动态w e b 页面的程序是混杂在h t m l 文档中的,这些程序由服务 器解释执行以后,连同h t m l 语言一起发送给浏览器,从而组成动态页面, 因此p h p 也被称为是一种在服务器端执行的“嵌入h t m l 文档的脚本语 言”。 自从1 9 9 4 年p h p 问世以来,经过i n t e r a c t 网上众多程序员的努力,不断 地完善。现在,p h p 可以为用户提供了丰富的函数库,具有良好的跨平台以 及与数据库交互的能力,支持多种数据库,其中包括嵌入式数据库m i n i s q l ,可以与a p a c h e 及其它扩展库以静态编译的方式紧密结合起来,这样最 大化的利用了c p u 和内存,从而达到了最快的运行速度。与数据库的结合同 样也使用了这样一种静态编译的方式,让数据库可以发挥最佳效能。 1 4 硕士学位论文 u s ie l l s7 i i i e s l 5 相比较而言,p h p 的性能和功能都比a s p 要强,使用要比j s p 方便,因 此我们选用p h p 作为w e b 开发的一种语言工具。w e b 服务器由a p a c h e i 3 1 2 来架构。 数据库的开发我们选用m i n is q l ( 下文简称m s q l ) 。现在,数据库的开 发工具种类很多,m s q l 作为一个嵌入式的小型数据库颇为引人注目。 相对于其它大型数据库而言,m s q l 是一种小型的关系数据库,性能不是太 好,对s q l 语言的支持也不够完全,但由于它的短小精悍,非常适合嵌入式数 据库和网络数据库的应用开发。 m s q l 是一套单用户数据库管理系统,它当初设计的主要目标在于能够在 资料量不大的情况下很快速地存取资料。除此之外,m s q l 还有许多方便的支 援特性,其中一点就是它有自己的发展语言s c r i p t i n gl a n g u a g e l i f e ,这种语 言非常类似c 语言,可以很容易地来开发应用程序。同时,m s q l 也为用户提 供了c ,e s l ,p e r l5 ,p y t h o n 与t c l 等a p i 函数。为了将m s q l 集成到用户 的应用程序中去,m s q l 数据库系统为用户提供了一个c 语言的a p i 库和一个 解释器:w 3 m s q i ,通过c 语言的a p i 库,可以将m s q l 集成到用标准c 语言 开发的应用程序中去。而有了w 3 m s q l 这个工具,可以通过编写类c 语言脚 本语言程序将m s q l 数据库嵌入到h t m l 文件中。 2 2 4 电子邮件系统结构 电子邮件系统包括软件部分和硬件部分,软件部分是在硬件的平台上搭 建的,整个电子邮件系统结构如图2 2 所示: 1w 曲服务器i i 数据库服务器邮件服务器 i 嵌入式l i n u x 内核 i x 8 6 硬件平台 2 - 2 电子邮件系统结构 硕士学位论文 m a s ie r f i 、 采用嵌入式l i n u x 内核管理硬件平台,为应用程序屏蔽具体的硬件平台 信息,提供统一的应用接口。应用软件的开发涉及到数据库服务器、w e b 服务 器、邮件服务器的结合。三者之间需要互相通信,交换信息。w e b 服务器与数 据库服务器和邮件服务器之间的数据交换是通过p h p 实现的,数据库服务器 与邮件服务器之间是通过数据库自带的接口函数实现的。 纛l i l 蹴、l ! l 文g g l , 第三章q m a i l 邮件软件机制 3 1 q m a i l 软件结构 q m a i l ;五纸址 i 一系列子程序组成的,这些子程序可分为两类:可执行秤 序和戈川 j 1j 产,它们之1 日j 的关系如3 1 图所示4 1 : 3 - 1 q m a i l 结构框幽 q m a i l 系统存运行时,有五个可执行程序在后台运行。这五个程序分别 为:q m a i l s e n d 、q m a i l l s p a w n 、q m a i l - r s p a w n 、q m a i l - c l e a n 、s p l o g g e r 。q m a i l s e n d 程序尝试投送q m a i l 队列里的邮件消息;q m a i l l s p a w n 程序一般被q m a i l - s e n d 程序调用向q m a i l l o c a l 程序转发消息;q m a i l - r s p a w n 程序被q m a i l s e n d 样序调用向q m a i l r e m o t e 转发消息:q m a i l c l e a n 程序将永远无法投递的消息 从q m a i l 队列叶f 移出:s p l o g g e r 程序将消息插入系统登录程序中。这五个程序 f 十h = j j 渊e f t - ,芪同控制q m a i l 系统的邮件收发工作。 q m a i l 进程在处理和传输消息的过程中,一般会用到q m a i l 的实用工具程 序。q m a i l 坩戈川【j 程序包括以下一些程序4 : b o u n c c s i l x ,i n g :允许用户将消息转发给程序或者程序不可用时返回信息: c o n d r c d i i _ c o t :允许川户将消息转发给程序,然后把消息转发到j个地 蚺: e x c e p t :用于修改一个调用程序的退出编码: f o r w a r d :将消息转发给一个备用地址; 1 7 硕士学位论文 n s t 肼j 1st f i s m a i l d i r 2 m b o x :将在 s e n d m a i l 邮箱中: m a i l d i r 格式邮箱中的消息转换到一个标准的 m a i l d i r m a k e :产生个m a i l d i r 格式的邮箱; m a i l d i r w a t c h :监控一个用户的邮件目录并报告所有的新消息; p r e l i n e :将消息转发给相关程序前对这些消息进行预处理; q b i f f :当新消息到达后给用户终端显示器上写一个通知; q m a i l i n j e c t :将新消息插入到q m a i l 邮件队列中: q m a i l 1 0 c a l :向本地邮件系统用户投送消息; q m a i l n e w m r h :从m o r e r c p t h o s t s 文件创建q m a i l 数据库: q m a i l n e w u :从一个包含系统用户名和邮件名的文本表建立一个q m a i l 用 户文件; q m a i l p o p 3 d :接收p o p 3 连接以便让用户阅读他们的邮箱; q m a i l p o p u p :验证p o p 3 连接中的用户i d 和密码; q m a i l p w 2 u :将系统的用户i d 和密码转换成q m a i l n e w u 能用的一个表结 构; q m a i l q m t p d :接收远程主机发来的q m t p 连接请求: q m a i l q r e a d :产生一个显示当前q m a i l 邮件队列里消息的报告: q m a i l q s t a t :产生一个报告来显示当前处在q m a i l 投送状态下等待发送的 消息数目; q m a i l q u e u e :将邮件消息排队等待投送: q m a i l r e m o t e :将消息投送给远程邮件用户: q m a i l s h o w c t l :显示当前的q m a i l 系统配置情况; q m a i l s m t l : d :接收来自远程主机的s m t p 连接请求; q m a i l s t a r t :初始化q m a i l 的启动脚本; q m a i l t c p o k :清空q m a i l r e m o t e 中用到的t c p 超时记录表; q m a i l t c p t o :显示当前的t c p 超时记录表; q r e c i e p t :用来回应对要求收到进行确认的消息; s e n d m a i h 将s e n d m a i l 程序的功能复制到m u a 程序中: t e p e n v :将网络连接的信息转换成u n i x 环境变量: 1 8 硕士学位论文 1 s ! e r sf i i e s i s 每一个实用工具程序在处理和投送邮件消息的过程中都起着不同的作 用,其中一些工具只有q m a i l 内核程序能够使用,如q m a i l p o p 3 d 、q m a i l p o p u p 、q m a i l q m t p d 。其他的可以由q m a i l 的管理员用来处理消息并得到统计 信息。 + 除此之外,q m a i l 系统还包含一些控制文件。这些控制文件用来存储 q m a i l 配置系统的数据。它们之间相对独立,都位于v a r q m a i l c o n t r o l 这个共 同的目录下面。所有的用户都能够查看这些控制文件,但只有根用户能够进 行修改。这些控制文件的名称以及功能如下所示:1 4 1 。 b a d m a i l f r o m 控制文件用来告诉q m a i l 邮件服务器应该拒收来自哪些远程 地址的消息,每一个地址都列在一个单独的行里。文件里出现域名表示这个 域内所有的发送方的消息都会被拒收。如果这个文件没有出现在控制文件目 录中,则所有的邮件都会被接收。 b o u n c e f r o m 控制文件是用来定义用户名,这个用户名将出现在那些被退 回给原始的发送方的消息中,它的默认值是通用名m a i l e r d a e m o n ,这 是一个假想的用户名,通常被用来作为邮件系统的某一个真实用户的别名。 b o u n c e h o s t

温馨提示

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

评论

0/150

提交评论