Linux下的邮件系统概述

2008-02-23 06:16:31来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

在Linux下有许多软件包能够实现标准的邮件服务。UNIX/Linux的电子邮件系统模型基本可分为邮件传递代理MTA,邮件存储和获取代理MSA,连同邮件客户代理MUA三大模块。虽然也有一些特别的邮件应用程式无法确切归入上述分类。下面我们就Linux邮件服务做一概述。

1、邮件传递代理-MTA

在Linux下的邮件传递代理包括sendmail,该系统几乎在任何UNIX平台上都有相应的版本;更有D.J. Bernstein的qmail连同Wietse Venema的Postfix系统。他们负责接收并转递邮件。这听起来很简单,实际上配置可能相当复杂。在邮件策略管理时需要配置一系列的路由和伪装选项,而许多功能是由语言编程实现的,用以过滤或修改中继消息的头信息。此外邮件路由和寻址邮件存储信箱的过程包含了复杂的和各种目录服务交互操作,这些目录服务可能包括DNS,密码文档,NIS, LDAP别名/数据库管理文档,连同各种的通用数据库系统。

如今的MTA还要实现反垃圾邮件功能,控制邮件头的to和from地址格式,达到允许或限制特定域名或地址范围目的,以上主要是通过修改存取控制表和规则实现。这一过程通常包括查询数据表或目录服务,例如Paul Vixie的实时黑洞列表程式RBL,邮件滥用预防系统MAPS,连同同类的Dorkslayer/ORBS系统。MTA一直在不断增强之中,以实现加强的策略控制连同反病毒和反蠕虫等功能。

在大多数情况下,安装和配置MTA系统比较容易,但是强大的功能的实现是以高度复杂性为代价的。假如您所在的机构选择定制的MTA来满足特定的路由,体系,安全性和反垃圾邮件等需要,就需要更加复杂的配置选项,配置包括设计并处理MTA和各种子系统如LDAP、DNS服务器之间的复杂关系。

2、邮件存储和获取代理MSA

一旦安装并配置完成了MTA,通常还需要对MSA系统进行同样的配置过程。如今大多数机构并不直接将邮件传送到桌面客户系统,而是将邮件存储到服务器,让用户通过POP或IMAP来读取各自的邮件

邮件存储的管理有许多种协议,但如今最常用的是POP3和IMAP4。对于MTA来说,由一些程式,或称之为Daemon来实现相应协议的服务。大多数MSA能够和通用的MTA交互,此外这些系统还包含加锁或其他安全机制,使得多个MSA能够并行工作而不发生冲突。

这意味着一些用户能够通过POP协议获取邮件而同时其余一些用户能够使用IMAP协议,而另外一些用户能够登录系统,使用本地MUA例如pine,mutt或elm处理邮件。单独用户也能够从一种存取协议转换到另一种,而并无需系统管理员的干预。聪明的用户甚至能够越过通常的MSA/MUA服务,而使用通常的UNIX命令如cp、mv和ftp或远程同步rsync来随意处置他们的邮件。对普通用户来说这有些艰涩,但该方法有时能够用来方便地修复崩溃了的邮箱系统。

在一个已安装了Linux系统机器上配置POP服务相当容易,甚至无需什么操作。通常POP Daemon在最初的Linux操作系统安装时已设立。而假如POP daemon被禁止,能够在/etc/inetd.conf文档中去掉相应行的注释,并重新启动Daemon服务即可。

类似的,IMAP也是如此。POP通常将邮件转递到客户端并从服务器上移除,而IMAP允许用户将邮件存贮在服务器端的文档夹中,而客户端的拷贝是缓存或工作副本,这样做需要更多的服务器存储空间,却能够让IT部门集中在服务器端进行备份和恢复,并让客户端保持相当的灵活性和安全性。IMAP也能够配置成象POP那样在客户端读取后就删除服务器端的邮件,从操作上讲,两者并没有什么不同。两种服务都由inetd来控制,或可称其为网络分发服务,相当于Linux的“传达接待员”。

POP或IMAP能够经年累月的不间歇地运行。无需特别关照,默默地为成百上千个用户和邮箱服务。但是有时邮件回复系统会犯些愚蠢的错误,或有些邮件软件产生了一些bug,这就需要系统管理员介入,解决某些系统故障,清除一些邮件碎片和垃圾。

例如,有的用户的pop系统可能崩溃,通常是由于客户收到了太大的邮件附件所致。过大的附件文档超过了磁盘空间限制,解决方法是利用shell命令,利用uudecode解码附件,并存储到该用户的home目录。也能够设计一些小脚本程式来处理邮件,重新恢复用户的邮箱系统。通常UNIX下的mbox是简单的文本文档,qmail邮件存储在含有单个小文本文档的目录中。一个胜任的系统管理员完万能够轻而易举的实现上述操作。也就是说,您所碰到的大多数和MSA和MTA有关的问题能够通过文本编辑器和常用的UNIX过滤器和应用程式加以解决。

3、邮件客户代理MUA

邮件客户代理MUA种类繁多,而且如雨后春笋,层出不穷,各有千秋。大都符合POP和IMAP协议。这也包括微软的Outlook系列。在Linux下,许多人使用fetchmail抓取邮件并保存在本地邮箱。然后使用任何一种邮件客户代理MUA,比如elm,pine,mutt,MH/exmh,EMACS的rmail,vmail,mh-e,gnus连同大量的带有GUI界面的如Balsa, Mahogany等来处理邮件。也有众多Linux用户选择使用Netscape Communicator内置的邮件客户端。

4、另类的Linux邮件应用

在Linux和UNIX下,也有许多工具诸如procmail,vacation,biff,和fetchmail等,不能划归到MTA,MSA,MUA的分类中。这里做另类简介。

promail经常被用作“本地递送代理”和邮件处理代理。他通常用来过滤发送给最终收信人的传送信息部分。允许用户编写脚本程式实现对某些特定邮件的自动发文,拒绝,恢复或转寄功能。也能够用作处理邮箱,或作为常规的电子邮件编程语言和程式库。

vacation是个收信后自动回复邮件的早期简单应用。最初用来提醒通信者收信人正在度假,这一功能完万能够通过两行简单的procmail命令实现。

biff可用来通知用户有邮件到达。在图像界面GUI下,也有几款类似的应用,能够通过显示图标,动画,播放音乐或语音提示表达

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 配置您的第一台e-mail服务器(上)

下一篇: Sendmail 554 错误的解决