建立邮件服务器:概述(1)

1、Linux邮件软件

  1.1 邮件系统的组成部件

  Linux中的电子邮件系统包括两个组件:MUA(Mail User Agent,邮件用户代理)和MTA(Mail Transport Agent,邮件传送代理)。MUA是邮件系统为用户提供的可以读写邮件的界面;而MTA试运行在底层,能够处理邮件的收发工作的程序。简单的说,用户可以使用MUA写信、读信、而通过MTA收信、发信。

  1.2 常用的MTA程序

  最通用的电子邮件MTA系统是sendmail,他最初被集成在加州大学开发的电子邮件系统中。Linux系统中有几个版本的sendmail,这些版本中的差别不是很大。另一个常见的MTA程序是smail,他是有Curt Noll和Ronald Kart共同开发的。

  由于这两种程序在Linux发布光盘中都可以找到,对小型的应用来说,任意一种都是很好的选择。由于smail是比较现代的产品,它在配置和使用上稍微方便一些。对大型系统或有特殊配置要求的应用来说,sendmail更灵活一些,可以获得更好的性能。它们的基本功能除了最基本的信件递送, 还有信件转递处理、 积存 (待送) 信件处理、 不同传输工具判断及退信处理等等。

  当我们需要使用sendmail或者smail时,就需要通过配置文件来定制程序包,以便完成我们需要的各种操作。sendmail的配置非常复杂,它有一个复杂的配置文件,这个文件复杂到用手工很难进行配置的程度。所以在进行配置时通常需要运行另外一个应用程序来达到简化的目的。相比较而言,smail的配置则非常简单。

  1.3 MUA与MTA协同运行

  当使用一个MUA程序写信(例如elm,pine或mail)时,应用程序把信件传给sendmail或smail这样的MTA程序(实际上,MUA程序将信件传给一个叫做rmail的普通服务器,它通常是系统中的MTA程序的别名)。尽管大多数的系统只使用一个MTA程序,然而实际上可以同时运行几个这样的程序,比如运行一个MTA程序处理局域网信件,而运行另一个MTA程序来处理UUCP信件。

  如果信件是寄给局域网或本地主机的,那么MTA程序应该从地址上就可以确定这个信息。MTA程序还支持别名机制,使得用户能够方便的用不同的名字与其他用户、主机或网络通信。如果信件是发给远程系统用户的,那么MTA程序必须能够选择路由,与远程邮件服务器建立连接并发送邮件。这种远程连接可以建立在UUCP或TCP之上。如果是后者,那么就要采用SMTP协议(Simple Mail Transfer Protocol,简单邮件传输协议)。MTA程序还必须能够处理发送邮件时产生的问题,并且能向发信人报告出错信息,例如,当邮件没有填写地址或收信人不存在时,MTA程序要向发信人报错