22.7. 关于/etc/mail/aliasesaliases.db文件

别名是将系统上的一个本地收件人名称转换为另一个名称的过程 - 别名仅在本地名称上发生。示例用途是将通用名称(例如 root)转换为系统上的真实用户名,或者将一个名称转换为多个名称的列表 - 用于邮件列表。对于每个将本地用户列为收件人的信封,Sendmail 都会在aliases文件中查找该收件人的名称。因为 Sendmail 可能需要在aliases文件

,所以该文件的副本会以单独的db数据库格式文件存储,以显着提高查找速度。如果您配置 Sendmail 以使用中央服务器邮件Hub来处理所有邮件,则无需在邻近服务器或客户端机器上安装aliasesaliases.db文件。

  1. 创建aliases文件,使用命令 touch/etc/mail/aliases并默认添加以下行
             #
             #       @(#)aliases     8.2 (Berkeley) 3/5/94
             #
             #  Aliases in this file will NOT be expanded in the header from
             #  Mail, but WILL be visible over networks or from /bin/mail.
             #
             #       >>>>>>>>>>      	The program "newaliases" must be run after
             #       >> NOTE >>      	this file is updated for any changes to
             #       >>>>>>>>>>      	show through to sendmail.
             #
    
             # Basic system aliases -- these MUST be present.
             MAILER-DAEMON:  	postmaster
             postmaster:     		root
    
             # General redirections for pseudo accounts.
             bin:            	root
             daemon:         	root
             nobody:         	root
    
             # Person who should get root's mail
             #root:          	admin
             

    Note: 您的 aliases 文件可能会更复杂,但即便如此,请注意示例如何显示别名的最小形式。

  2. 由于/etc/mail/aliases是一个数据库,因此在如上所述创建文本文件后,您必须使用 makemap 程序来创建数据库映射。要创建aliases 数据库映射,请使用以下命令
             [root@deep] /# makemap hash /etc/mail/aliases.db < /etc/mail/aliases
             

22.7.1. 关于/etc/mail/目录

关于

所有这些文件都与 Sendmail 的特定功能有关,系统管理员可以对这些功能进行调整。同样,这些功能通常仅在中央邮件 Hub 服务器中才需要。以下是每个文件的说明。

关于virtusertable & virtusertable.db文件

virtusertable 是一个数据库,用于将虚拟域映射到新的地址。使用此功能,您网络上虚拟域的邮件可以被传递到本地、远程或单个用户地址。

关于domaintable & domaintable.db文件

domaintable 是一个数据库,用于将旧域名映射到新域名。使用此功能,您网络上的多个域名可以从旧域名重写为新域名。

关于mailertable & mailertable.db文件

mailertable 是一个数据库,用于映射host.domain名称到特定的传递代理和新域名对。使用此功能,您网络上的邮件可以通过使用特定的传递代理传递到新的本地或远程域名。

要创建virtusertable、domaintable、mailertable以及它们对应的.db文件到/etc/mail目录中,请使用以下命令
         [root@deep] /# for map in virtusertable domaintable mailertable
         

         > do
         > touch /etc/mail/${map}
         > chmod 0644 /etc/mail/${map}
         > makemap hash /etc/mail/${map}.db < /etc/mail/${map}
         > chmod 0644 /etc/mail/${map}.db
         > done