以下示例提供了重写规则样例以及规则如何重写样例地址。
假设系统 SC.CS.SIROE.EDU 的配置文件中包含以下示例中所示的重写规则:
sc $U@sc.cs.siroe.edu sc1 $U@sc1.cs.siroe.edu sc2 $U@sc2.cs.siroe.edu * $U%$&0.cs.siroe.edu *.cs $U%$&0.cs.siroe.edu *.cs.siroe $U%$&0.cs.siroe.edu *.cs.siroe.edu $U%$&0.cs.siroe.edu@ds.adm.siroe.edu sc.cs.siroe.edu $U@$D sc1.cs.siroe.edu $U@$D sc2.cs.siroe.edu $U@$D sd.cs.siroe.edu $U@sd.cs.siroe.edu .siroe.edu $U%$H.siroe.edu@cds.adm.siroe.edu .edu $U@$H$D@gate.adm.siroe.edu [] $U@[$L]@gate.adm.siroe.edu |
表 11–7 显示了一些样例地址,以及如何根据重写规则来重写和路由这些地址。
表 11–7 样例地址和重写
初始地址 |
重写为 |
路由到 |
---|---|---|
user@sc |
user@sc.cs.siroe.edu |
sc.cs.siroe.edu |
user@sc1 |
user@sc1.cs.siroe.edu |
sc1.cs.siroe.edu |
user@sc2 |
user@sc2.cs.siroe.edu |
sc2.cs.siroe.edu |
user@sc.cs |
user@sc.cs.siroe.edu |
sc.cs.siroe.edu |
user@sc1.cs |
user@sc1.cs.siroe.edu |
sc1.cs.siroe.edu |
user@sc2.cs |
user@sc2.cs.siroe.edu |
sc2.cs.siroe.edu |
user@sc.cs.siroe |
user@sc.cs.siroe.edu |
sc.cs.siroe.edu |
user@sc1.cs.siroe |
user@sc1.cs.siroe.edu |
sc1.cs.siroe.edu |
user@sc2.cs.siroe |
user@sc2.cs.siroe.edu |
sc2.cs.siroe.edu |
user@sc.cs.siroe.edu |
user@sc.cs.siroe.edu |
sc.cs.siroe.edu |
user@sc1.cs.siroe.edu |
user@sc1.cs.siroe.edu |
sc1.cs.siroe.edu |
user@sc2.cs.siroe.edu |
user@sc2.cs.siroe.edu |
sc2.cs.siroe.edu |
user@sd.cs.siroe.edu |
user@sd.cs.siroe.edu |
sd.cs.siroe.edu |
user@aa.cs.siroe.edu |
user@aa.cs.siroe.edu |
ds.adm.siroe.edu |
user@a.eng.siroe.edu |
user@a.eng.siroe.edu |
cds.adm.siroe.edu |
user@a.cs.sesta.edu |
user@a.cs.sesta.edu |
gate.adm.siroe.edu—route inserted |
user@b.cs.sesta.edu |
user@b.cs.sesta.edu |
gate.adm.siroe.edu—route inserted |
user@[1.2.3.4] |
user@[1.2.3.4] |
gate.adm.siroe.edu—route inserted |
基本上,这些重写规则的意思是:如果主机名是我们的简短格式名称之一(sc、sc1 或 sc2),或者是我们的完整名称(sc.cs.siroe.edu 等)之一,则将其扩展为完整名称并路由给我们。将 cs.cmu.edu 附加至一部分简短格式的名称并重试。将后面为 .cs 的一部分转换为后面为 .cs.siroe.edu 的一部分,并重试。同时将 .cs.siroe 转换为 .cs.siroe.edu 并重试。
如果名称为 sd.cs.siroe.edu(可能是我们直接连接至的某个系统),则执行重写并将其路由至那里。如果主机名为 .cs.siroe.edu 子域中的任何其他名称,则将其路由至 ds.cs.siroe.edu(.cs.siroe.edu 子域的网关)。如果主机名为 .siroe.edu 子域中的任何其他名称,则将其路由至 cds.adm.siroe.edu(.cs.siroe.edu 子域的网关)。如果主机名为 .edu 顶层域中的任何其他名称,则将其路由至 gate.adm.siroe.edu(假定其可以将邮件路由至正确的目标)。如果使用了域文字,则也将其发送到 gate.adm.siroe.edu。
重写规则的大多数应用程序(如先前的示例)将不会以任何方式更改地址的用户名(或邮箱)部分。当 MTA 用于与不符合 RFC 822 的邮件程序(需要将主机/域说明部分加入到地址的用户名部分的邮件程序)配合共作时,将使用更改地址用户名部分的功能。确实要使用此功能时应格外谨慎。