Sun Java System Messaging Server 6.3 管理指南

9.1.1.1 重寫規則機制

MTA 重寫規則機制中增加了一項功能,可用於檢查指定字串以確定其是否為需要在本機進行處理的網域。這項新功能透過 $V$Z 中介字元啟動。這些新的中介字元在語法結構上類似於現有的 $N$M$Q 以及 $C 中介字元,也就是它們後面都跟有式樣字串。如果是 $N$M$Q 以及 $C,則式樣要符合來源通道或目標通道。如果是 $V$Z,則式樣要為一個網域,並且系統會檢查該網域是否位於本機。$V 會導致用於非本機網域的規則失敗,而 $Z 會導致用於本機網域的規則失敗。

這些中介字元的處理按照以下程序進行:

  1. Messaging Server 進行檢查以查看目前網域是否與目錄中有效的網域項目相符。如果不存在項目,則移至步驟 3。

  2. 如果網域在目錄中有項目,則會從網域項目中擷取 LDAP_DOMAIN_ATTR_ROUTING_HOSTS MTA 選項 (預設 mailRoutingHosts) 所指定的屬性。如果該屬性存在,便會列出能夠處理該網域中使用者的一組主機。此清單會與 local.hostname configutil 參數指定的主機以及 local.imta.hostnamealiases configutil 參數指定的主機清單進行對照。這些選項可以分別由 LDAP_LOCAL_HOSTLDAP_HOST_ALIAS_LIST MTA 選項覆寫。如果存在相符項目或網域中不存在該屬性,則該網域為本機。如果不存在相符項目,則該網域為非本機。

    由於 mailRoutingHosts 屬性而被視為非本機的網域處理取決於 ROUTE_TO_ROUTING_HOST MTA 選項的設定。如果該選項設定為 0 (預設),則位址只會被作為非本機進行處理,而 MTA 重寫規則被用於確定路由。如果該選項設定為 1,則 LDAP_DOMAIN_ATTR_ROUTING_HOSTS MTA 選項列出的第一個值組成的來源路由會置於位址之前。

  3. 如果找不到網域項目,請移除網域左側的一個元件並移至步驟 1。如果沒有剩餘任何元件,請繼續執行步驟 4。

    這種向上回溯網域樹狀結構的結果是,如果 siroe.com 被識別為本機,則 siroe.com 的任何子網域都將被識別為本機。有時可能不希望發生這種情況,因此我們提供 MTA 選項 DOMAIN_UPLEVEL 來控制此運作方式。具體來說,DOMAIN_UPLEVEL 的位元 0 (值 = 1) (如果清除) 可停用使用已移除網域元件進行的重試。DOMAIN_UPLEVEL 的預設值為 0。

  4. 現在需要執行虛名網域檢查。虛名網域不包含網域項目,更確切地說,它們是透過附加特殊網域屬性到一個或多個使用者項目而指定的。虛名網域檢查的執行方法是,使用 DOMAIN_MATCH_URL MTA 選項指定的 LDAP URL 來執行 LDAP 搜尋。該選項的值應設定為:

    ldap:///$B?msgVanityDomain?sub?(msgVanityDomain=$D)

    $B 可替換 local.ugldapbasedn configutil 參數的值;這個值為目錄中使用者樹狀結構的基底目錄。LDAP_USER_ROOT MTA 選項可用以覆寫該 configutil 選項專用於 MTA 的值。

    由此搜尋傳回的實際值無關緊要。重要的是是否傳回值。如果傳回值,則該網域被視為本機;如果未傳回值,則該網域被視為非本機。