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

重写规则模板

以下各节将详细介绍重写规则的模板格式。表 11–2 汇总了这些模板格式。

表 11–2 重写规则的模板格式摘要

模板 

用法 

A%B 

A 将变为新的用户/邮箱名称,B 将变为新的主机/域说明,再次重写。重复的重写模板 A%B

A@B 

将被视为 A%B@B。一般重写模板:A%B@C 或 A@B

A%B@C 

A 将是新的用户/邮箱名称,B 将是新的主机/域说明,路由到与主机 C 关联的通道。一般重写模板:A%B@C 或 A@B

A@B@C 

将被视为 A@B@C@C。指定的路由重写模板 A@B@C@D 或 A@B@C

A@B@C@D 

A 将是新的用户/邮箱名称,B 将是新的主机/域说明,插入 C 作为源路由,路由到与主机 D 关联的通道。指定的路由重写模板 A@B@C@D 或 A@B@C

一般重写模板:A%B@C 或 A@B

以下模板为最常用的模板格式。规则适用于地址的用户部分和地址的域部分。然后使用新地址将邮件路由到一个特定通道(由 ChannelTag 表示)。

UserTemplate%DomainTemplate@ChannelTag[controls]

下一个模板格式在应用方面与最常用的模板格式相同。但是,仅当 DomainTemplateChannelTag 相同时,才可使用此模板格式。

UserTemplate@ChannelTag[controls]

重复的重写模板 A%B

以下模板格式用于在应用规则后还需要附加重写的元规则。规则应用后,将在产生的新地址上重复整个重写进程。(所有其他重写规则格式会导致重写进程在规则应用后终止。)

UserTemplate%DomainTemplate[controls]

例如,以下规则可以从地址的结尾处删除出现的所有 .removable 域:

.removable $U%$H

使用这些重复规则时必须非常谨慎;使用疏忽可能会创建一个“规则循环”。因此,只有在绝对必要时才应使用元规则。确保使用 imsimta test -rewrite 命令来测试元规则。有关 test -rewrite 命令的更多信息,请参见《Sun Java System Messaging Server 6 2005Q4 Administration Reference》

指定的路由重写模板 A@B@C@D 或 A@B@C

以下模板格式与较常用的模板 UserTemplate%DomainTemplate@ChannelTag(注意第一个分隔符的区别)的工作方式相同,除了 ChannelTag 作为源路由被插入地址中。然后邮件将被路由到 ChannelTag

UserTemplate@DomainTemplate@Source-Route
    @ChannelTag[controls]

重写的地址变为 @route:user@domain。以下模板也有效:

UserTemplate@DomainTemplate@ChannelTag[controls]

例如,以下规则将把地址 jdoe@com1 重写到源路由的地址 @siroe.com:jdoe@com1。通道标记将变为 siroe.com

com1 $U@com1@siroe.com

重写规则模板中的大小写区分

与重写规则中的模式不同,模板中的字符大小写将被保留。当使用重写规则为区分字符大小写的邮件系统提供接口时,这是必要的。请注意类似 $U 和 $D 的替换序列(替换从地址提取的材料)也将保留字符的原始大小写。

在需要强制被替换的材料使用特定的大小写时(如在 UNIX 系统中强制邮箱为小写),在模板中可以使用特殊的替换序列以强制被替换的材料为所需的大小写。特别是,$\ 将强制后续被替换的材料为小写,$^ 强制后续被替换的材料为大写,而 $_ 则要求使用原始的大小写。

例如,您可以使用以下规则来强制 unix.siroe.com 地址的邮箱为小写:

unix.siroe.com    $\$U$_%unix.siroe.com