系统管理指南:网络服务

邮件别名文件

可以使用以下任何文件、映射或表来维护别名。

维护别名的方法取决于使用别名的用户以及需要可更改别名的用户。每种别名类型都具有唯一的格式要求。

如果要查找任务信息,请参阅第 13 章,邮件服务(任务)中的管理邮件别名文件(任务列表)

.mailrc 别名

.mailrc 文件中列出的别名仅能由拥有该文件的用户进行访问。借助此限制,用户可以建立由其控制并且仅能由属主使用的别名文件。.mailrc 文件中的别名遵循以下格式。


alias aliasname value value value ...

aliasname 是用户在发送邮件时使用的名称,value 是有效的电子邮件地址。

如果用户为 scott 建立的个人别名在名称服务中与 scott 的电子邮件地址不匹配,则会出现错误。人们尝试回复此用户生成的邮件时,邮件会路由至错误的人员。唯一的解决方法是使用其他任一别名机制。

/etc/mail/aliases 文件

知道别名名称和包含该文件的系统的主机名的任何用户都可以使用 /etc/mail/aliases 文件中建立的任何别名。本地 /etc/mail/aliases 文件中的分发列表格式遵循以下格式。


aliasname: value,value,value ...

aliasname 是用户向此别名发送邮件时使用的名称,value 是有效的电子邮件地址。

如果网络未运行名称服务,则每个系统的 /etc/mail/aliases 文件都应包含用于所有邮件客户机的项。可以在每个系统中编辑该文件,也可在一个系统中编辑该文件,然后再将其复制到其他所有系统中。

/etc/mail/aliases 文件中的别名以文本形式存储。编辑 /etc/mail/aliases 文件时,需要运行 newaliases 程序。此程序将重新编译数据库并使别名可以二进制形式供 sendmail 程序使用。有关任务信息,请参阅第 13 章,邮件服务(任务)中的如何设置本地邮件别名文件。或者,也可以使用 Solaris Management Console 中的邮递列表功能来管理本地 /etc 文件中存储的邮件别名。

可以仅为本地名称(当前主机名或无主机名)创建别名。例如,如果用户 ignatz 在系统 saturn 中有一个邮箱,则 /etc/mail/aliases 文件中可包含该用户的以下别名项。


ignatz: ignatz@saturn

应为每台邮件服务器创建一个管理帐户。创建此类帐户的方法是在邮件服务器上为 root 指定一个邮箱并在 /etc/mail/aliases 文件中为 root 添加一项。例如,如果系统 saturn 是邮箱服务器,则可向 /etc/mail/aliases 文件中添加项 root: sysadmin@saturn

通常,仅有 root 用户才能编辑此文件。但是,使用 Solaris Management Console 时,组 14(sysadmin 组)中的所有用户都可以更改该本地文件。另外,还可选择创建以下项。


aliasname: :include:/path/aliasfile

aliasname 是用户在发送邮件时使用的名称,/path/aliasfile 是包含别名列表的文件的全路径。该别名文件应包括电子邮件项(每行一项),并且不包括任何其他符号。


user1@host1

user2@host2

可在 /etc/mail/aliases 中定义附加的邮件文件,以保留日志或备份副本。 以下项会将发送给 aliasname 的所有邮件都存储在 filename 中。


aliasname: /home/backup/filename

另外,还可以将邮件路由至其他进程。以下示例将邮件副本存储在 filename 中并列显副本。


aliasname: "|tee -a /home/backup/filename |lp"

有关任务列表,请参阅第 13 章,邮件服务(任务)中的管理邮件别名文件(任务列表)

NIS aliases 映射

本地域中的所有用户都可以使用 NIS aliases 映射中的各项。原因是 sendmail 程序可以使用 NIS aliases 映射而非本地 /etc/mail/aliases 文件来确定邮件地址。有关更多信息,请参阅 nsswitch.conf(4) 手册页。

NIS aliases 映射中的别名遵循以下格式。


aliasname: value,value,value ...

aliasname 是用户发送邮件时使用的名称,value 是有效的电子邮件地址。

NIS aliases 映射应包含用于所有邮件客户机的各项。通常,仅有主 NIS 中的超级用户才能更改这些项。对于经常更改的别名,最好不要选择此类型。但是,如果这些别名指向其他别名文件,则这类别名将很有用,如以下语法示例所示。


aliasname: aliasname@host

aliasname 是用户发送邮件时使用的名称,host 是包含 /etc/mail/alias 文件的服务器的主机名。

有关任务信息,请参阅第 13 章,邮件服务(任务)中的如何设置 NIS mail.aliases 映射

NIS+ mail_aliases

NIS+ mail_aliases 表包含在本地域中用于标识系统或个人的名称。sendmail 程序可以使用 NIS+ mail_aliases 表而非本地 /etc/mail/aliases 文件来确定邮件地址。有关更多信息,请参阅 aliasadm(1M)nsswitch.conf(4) 手册页。

NIS+ mail_aliases 表中的别名遵循以下格式:


alias: expansion # ["options" # "comments"]

表 14–12 介绍了 NIS+ mail_aliases 表中的四列。

表 14–12 NIS+ mail_aliases 表的各列

列 

说明 

alias

别名的名称 

expansion

别名或别名列表的值,与 sendmail /etc/mail/aliases 文件中显示的值类似

options

保留供将来使用的列 

comments

有关单个别名的注释列 

NIS+ mail_aliases 表应包含用于所有邮件客户机的项。可以使用 aliasadm 命令列出、创建、修改和删除 NIS+ aliases 表中的各项。要使用 aliasadm 命令,您必须是拥有 aliases 表的 NIS+ 组的成员。有关任务信息,请参阅第 13 章,邮件服务(任务)中的管理邮件别名文件(任务列表)。或者,也可以使用 Solaris Management Console 来管理 NIS+ 邮件别名。


注 –

如果要创建新的 NIS+ aliases 表,必须在创建项之前先初始化该表。如果该表已存在,则无需进行初始化。