Sun Java System Messaging Server 6 2005Q4 管理指南

重写规则结构

重写规则显示在 MTA 配置文件 imta.cnf 的上半部分中。配置文件中的每个规则都以单行显示。各个规则之间允许有注释但不允许有空白行。重写规则以空白行结束,其后跟通道定义。以下示例显示了部分配置文件的重写规则部分。


! test.cnf - An example configuration file.
!
! This is only an example of a configuration file. It serves
! no useful purpose and should not be used in a real system.
!
a.com   $U@a-host
b.org   $U@b-host
c.edu   $U%c@b-daemon
d.com   $U%d@a-daemon

! Begin channel definitions

重写规则由两部分组成:模式,后跟等值字符串或模板。尽管每个部分内部不允许有空格但这两部分必须用空格分隔。重写规则的结构如下所示:


pattern template

pattern

表示要在域名中搜索的字符串。在表 11–3 中,模式为 a.comb.orgc.edud.com

如果模式与地址的域部分匹配,则重写规则适用于该地址。模式和模板必须用空白区域分隔。有关模式语法的更多信息,请参见重写规则模式和标记

template

为以下模板之一:

UserTemplate%DomainTemplate@ChannelTag[controls]
UserTemplate@ChannelTag[controls]
UserTemplate%DomainTemplate[controls]
UserTemplate@DomainTemplate@ChannelTag[controls]
UserTemplate@DomainTemplate@SourceRoute@ChannelTag[controls]

其中

UserTemplate 指定如何重写地址的用户部分。替换序列可用于表示原始地址的部分或数据库查找的结果。替换序列将被替换为其表示的内容以构造重写地址。在表 11–4 中,使用的是 $U 替换序列。有关更多信息,请参见模板替换和重写规则控制序列

DomainTemplate 指定如何重写地址的域部分。与 UserTemplate 相同,DomainTemplate 也可以包含替换序列。

ChannelTag 表示此邮件要发送到的通道。(所有通道定义必须包含通道标记和通道名称。通道标记通常显示在重写规则及其通道定义中。)

controls 使用控件可以限制规则的适用性。某些控件序列必须在规则的开始部分显示;其他控件必须在规则的结尾部分显示。有关控件的更多信息,请参见模板替换和重写规则控制序列

有关模板语法的更多信息,请参见重写规则模板