基于Linux的邮件服务器简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由418133804贡献
pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
第 21 期总第 151 期 2007 年 11 月
内蒙古科技与经济 Inner M ong olia Science T echnology & Economy
No . 21, t he 151th issue Nov. 2007
基于 L inux 的邮件服务器简介
王晓荣, 关玉欣
( 内蒙古工业大学信息工程学院, 内蒙古呼和浩特 010051)
摘要: 随着网络的产生和发展, 我们的生活变得更加快捷和方便。在网络为我们提供了许多其他媒体无法取代的服务, 诸如: 网上购物、电子贺卡等等, 而电子邮件服务是当今因特网提供的主要也是最流行的服务之一。本文基于此重点介绍了在 L inux 环境下, 电子邮件系统模型的三大基本模块。关键词: Linux; 邮件传递代理; 邮件存储和获取代理; 邮件客户代理中图分类号: T P368 5 文献标识码: A 文章编号: 1007 6921( 2007) 21 0381 01 在 Linux 下有许多软件包可以实现标准的邮件服务。Unix/ Linux 的电子邮件系统模型可分为邮件传递代理 MT A, 邮件存储和获取代理 M SA, 以及 M UA 三大模块。虽然也有一些特殊的邮件应用程序无法确切归入上述分类。下面我们就 Linux 邮件服务做一概述。 1 邮件传递代理 MT A 在 L inux 环境下的邮件传递代理包括 Send mail, 该系统几乎在任何 Linux 平台上都有相应的版本; 还有 D. J. Bernstein 的 Qmail 以及 Wiet se Venema 的 Post fix 系统。它们负责接收并传递邮件。这听起来很简单, 实际上设置可能相当复杂。在邮件策略管理时需要设置一系列的路由和伪装选项, 而许多功能是由语言编程实现的, 用以过滤或者修改中继消息的头信息。此外邮件路由和寻址邮件存储信箱的过程包含了复杂的与各种目录服务交互操作, 这些目录服务可能包含 DNS, 密码文件, NIS, LDAP 别名/ 数据库管理文件, 以及各种的通用数据库系统。如今的 M T A 还要实现反垃圾邮件功能, 控制邮件头的 to 和 f rom 地址格式, 达到允许或者限制特定域名或者地址范围目的, 以上主要是通过修改存取控制表和规则实现。这一过程通常包括查询资料表或者目录服务, 例如 Paul Vixie 的实时黑洞列表程序 RBL, 邮件滥用预防系统MAPS, 以及同类的 Dorkslayer/ ORBS 系统。M T A 一直在不断增强之中, 以实现加强的策略控制以及反病毒和反蠕虫等功能。在大多数情况下, 安装和设置 M T A 系统比较容易, 不过强大的功能的实现是以高度复杂性为代价的。如果你所在的机构选择定制的 M T A 来满足特定的路由, 体系, 安全性和反垃圾邮件等要求, 就需要更加复杂的设置选项, 配置包括设计并处理 M T A 和各种子系统如 L DAP、 DNS 服务器之间的复杂关系。 2 邮件存储和获取代理 M SA 一旦安装并设置完成了 M T A, 通常还需要对 M SA 系统进行同样的配置过程。如今大多数机构并不直接讲邮件传送到桌面客户系统, 而是将邮件存储到服务器, 让用户通过 POP 或者 IMAP 来读取各自的邮件。邮件存储的管理有许多协议, 但如今最常用的是 POP3 和 IMAP4。对于 MT A 来说, 由一些程序, 或者称之为Dae 来实现相应协议的服务。大多数 M SA 可以与通用的 MT A 交互, 此外这些系统还包含加锁或者其他安全机制, 使得多个 M SA 可以并行工作而不发生冲突。这意味着一些用户可以通过 POP 协议获取邮件而同时其余一些用户可以使用 IMAP 协议, 而另外一些用户可以登录系统, 使用本地 M UA。例如: pine, mut t 或 elm 处理邮件。单独用户也可以从一种存取协议切换到另一种, 而并不需要系统管理员的干预。聪明的用户甚至可以越过通常的 M SA/ MUA 服务, 而使用通常的 U NIX 命令如 cp、和 mv f tp 或者远程同步rsync 来随意处置他们的邮件。在一个已经安装了 L inux 系统机器上设置 pop 服务相当容易, 甚至不需要什么操作。通常 pop daemon 被禁止, 可以在/ et c/ inet d. conf 文件中去掉相应行的注释, 并重新启动 daemon 服务即可。 MAP 也是如此。P OP 通常将邮
件转递到客户端并从服务器上移除, 而 IMAP 允许用户将邮件存贮在服务器端的活页夹中, 而客户端的拷贝是缓存或者工作副本, 这样做需要更多的服务器存储空间, 却可以让 IT 部门集中在服务器端进行备份和恢复, 并让客户端保持相当的灵活性和安全性。 IMAP 也可以设置成像 POP 那样在客户端读取后就删除服务器端的邮件, 从操作上讲, 两者并没有什么不同。两种服务都由 inetd 来控制, 或可称其为网络分发服务, 相当于 L inux 的传达接待员! 。 POP 或 IMAP 可以经年累月的不间歇地运行。无需特效关照, 默默地为成百上千个用户和邮箱服务。不过有时邮件回复系统会犯些愚蠢的错误, 或者有些邮件软件产生了一些 bug, 这就需要系统管理员介入, 解决某些系统故障, 清除一些邮件碎片和垃圾。例如, 有的用户的 POP 系统可能崩溃, 通常是由于客户收到了太大的邮件附件所致。过大的附件文件超过了磁盘空间限制, 解决方( 下转第 384 页) 收稿日期: 2007- 08- 12
381 ?
总第 151 期
内蒙古科技与经济
各种组合, 这些组合在程序中运行后必然会产生一个结果, 从而判断是否是期望值。又因为等价类划分法和边界值分析法是基于单缺陷理论! , 所以因果图法是上述两种方法有效的补充。如在蒙古文字信息系统的作者子系统中我们用因果图法其测试用例如下: 用例输入条件 1. 蒙古文字作者输入 2. 蒙古文字性别输入 3. 蒙古文字发表书名输入 4. 蒙古文字发表书籍册数输入 5. 蒙古文字其他输入上述输入正确 1. 蒙古文字作者输入 2. 蒙古文字性别输入 3. 蒙古文字发表书名输入 4. 蒙古文字发表书籍册数输入 5. 蒙古文字其他输入上述输入有错误期望
1
给出正确提示 ( 如提交成功)
2
给出输入出错提示 ( 如提交不成功)
通过上述方法我们对蒙古文字信息系统进行 GU I 测试, 在测试过程中我们不是毫无重点, 而是结合蒙古文字的特点和开发过程主要以等价类划分法和边界值分析法为主, 结合错误推测法和因果图法设计测试用例。目的是尽早地、及时地发现缺陷, 以减少开发成本和提高软件质量。 3 结束语从软件的生存周期看, GU I 测试是指在程序代码开发结束以后进行的测试, 它在测试技术中主要是黑盒测试, 也就是说它是针对程序的功能进行的测试。从另一方面来说, 蒙古文文字的这些结构特点给蒙文字软件的开发带来了许多不便, 也为软件的 GU I 测试造成了很大的困难。所以在测试的时 ( 上接第 381 页) 法是利用shell 命令, 利用 undecode 译码附件, 并存储到该用户的 home 目录, 也可以设计一些小脚本程序来处理邮件, 重新恢复用户的邮箱系统。通常 Unix 下的 mbox 是简单的文本文件, Qm ail 邮件存储在含有单个小文本文件的目录中。 3 邮件客户代理 MUA 邮件客户代理MUA 种类繁多, 而且如雨后春笋, 层出不穷, 各有千秋。大都符合 POP 和 IMAP 协议。这也包括微软的 Outlook 系列。在 Linux 下, 许多人使用 fetchmail 抓取邮件并保存在本地邮箱。然后使用任何一种邮件客户代理 M UA, 比如 elm, pine, m utt , MH/ exmh, EMACS 的 rmail, vmail, mh- e, g nus 以及大量的带有 GU I 接口的如 Blasa, M ahogany 等来处理邮件。也有众多 L inux 用户选择使用 Netscape Communicator 内置的邮件客户端。 4 另类的 L inux 邮件应用在 Linux 和 Unix 下, 也有许多工具诸如 proc mail, vacation, bif f 和 fetchmail 等, 不能划归到 M T A, MSA, M UA 的分类中。这里做另类简介。 Procmail 经常被用作本地递送代理! 和邮件处理代理。它通常用来过滤发送给最终收信人的传送信息部分。允许用户编写脚本程序实现对某些特定邮件的自动发文,