.mh_alias 文件格式

用途

定义别名。

描述

别名文件包含将别名名称与地址或地址组相关联的行。 消息处理程序 (MH) 包读取个人别名文件 (通常为 $HOME/.mh_alias 文件) 和系统范围别名文件 /etc/mh/MailAliases 文件。 根据 MH 配置,还可以在 /etc/aliases 文件中定义别名 (请参阅 sendmail 命令)。

别名文件名是几个 MH 命令的参数。 这些命令可以由 .mh_profile 文件中的条目自动设置。 个人别名文件可以具有任何名称,但必须遵循此处描述的格式。 /etc/mh/MailAliases 文件是系统范围别名的缺省别名文件。 此文件是由具有 root 用户权限的用户设置的。

.mh_profile 文件中指定个人别名文件。 否则,每次使用需要此标志的 MH 命令时,都必须使用 -alias 标志。

.mh_alias 文件的每一行都具有下列其中一种格式:

  • 别名 : 地址-组
  • 别名 ; 地址-组
  • 别名文件

这些变量的描述如下:

描述
别名 指定简单地址。
地址 指定简单的因特网样式地址。
指定 /etc/group 文件中的组名 (或编号)。
别名-文件 指定一个系统文件名。 MH 程序包会将别名文件名视为区分大小写。 别名扩展也是区分大小写的。

地址-组 变量可以是以下任一值:

描述
AddressList 组成一个组的地址的列表。
<别名-文件 要读取更多别名定义的系统文件。

AddressList 变量中的地址必须用逗号分隔。

注: 如果在别名定义中存在对别名的引用,那么必须在别名文件的以下行中定义这些别名。

特殊字符

描述
\(反斜杠) 您可以在下一行上继续别名定义,方法是结束该行以 \ (反斜杠) 开头,后跟一个新行字符。
<(小于号) 如果某行以小于号(<)开头,MH 将读取小于号后指定的文件以获取更多别名定义。 以递归方式完成读取。

如果地址组以小于号(<)开头,MH 将读取小于号后指定的文件,并将该文件的内容添加到别名的地址列表中。

= (等于) 如果地址组以 = (等号) 开头,那么 MH 将向 /etc/group 文件查询在等号之后指定的组。 MH 软件包将作为组的成员出现的每个登录名添加到别名的地址列表中。
+(加号) 如果地址组以 + (加号) 开头,那么 MH 将咨询 /etc/group 文件以确定该组的标识。 在 /etc/passwd 文件中出现的与地址组匹配的每个登录名都将添加到别名的地址列表中。
* (星号) 如果地址组由 * (星号) 定义,那么 MH 将查阅 /etc/passwd 文件,并将用户编号大于 200 (或在 /etc/mh/mtstailor 文件中为所有人设置的值) 的所有登录名添加到别名的地址列表中。

以下列表说明了系统在发布时如何解析别名:

  1. 系统将从要传递的消息中构建所有地址的列表,以消除重复地址。
  2. 如果该草稿源自本地主机,那么系统会对没有指定主机的地址执行别名解析。
  3. 对于别名文件中的每一行,系统会将别名与所有现有地址进行比较。 如果找到匹配项,那么系统将从地址列表中除去匹配的别名。 然后,系统会将地址组中的每个新地址添加到地址列表中。 别名本身通常是不输出的。 相反,将输出别名映射到的地址组。 如果别名以; (分号) 而不是: (冒号) 结尾,那么别名和地址都将以正确的形式输出。 (由于 MH 别名和个人别名对于邮件传输系统是未知的,因此此正确格式使回复成为可能。)

在模式匹配中,别名中的尾部 * (星号) 仅与任何合适的内容匹配。

示例

.mh_alias 文件的以下示例说明了它的某些功能:

</home/sarah/morealiases
systems:= systems
staff:+ staff
everyone:+*
manager: harold@harold
project:lance,mark@remote,peter,manager

第一行说,应该从以下内容中读取更多别名:/home/sarah/morealiases中。 该systems别名定义为列示为组成员的所有用户systems/etc/group 文件中。 该staff别名定义为其 /etc/passwd 文件中的组标识等同于以下内容的所有用户:staff组。 最后,everyone别名定义为 /etc/passwd 文件中用户标识大于 200 的所有用户。

manager别名定义为用户的别名harold@harold.project别名定义为用户lance,mark@remote,petermanager.

文件

描述
/etc/aliases 包含 发送邮件 命令的系统范围别名。
/etc/group 包含组的基本属性。
/etc/passwd 包含用户认证信息。
/etc/mh/MailAliases 包含系统范围的别名的缺省别名文件,该文件由具有 root 用户权限的用户设置。
/etc/mh/mtstailor 将消息处理程序 (MH) 环境定制为本地环境。
.mh_profile 定制消息处理程序 (MH) 包。