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

位址反向

使用直接 LDAP 的位址反向,從值為 4 的 USE_REVERSE_DATABASE (停用任何反向資料庫) 開始。然後在先前論述的路由工具上建立。尤其是在舊版中,它用以下形式的反向 URL 規格開頭:

REVERSE_URL=ldap:///$V?mail?sub?$Q

在 alias URL 環境中已說明了 $V 中介字元。$Q 中介字元雖然在功能上與 alias URL 中使用的 $R 中介字元十分類似,但它專門用在位址反向中。與 $R 不同,$Q 會產生一個篩選器,用於搜尋包含位址反向備選位址的屬性。要搜尋的屬性之清單來自 MTA 選項 LDAP_MAIL_REVERSES。如果未設定此選項,則會檢查 local.imta.schematag configutil 參數,並根據其值選擇一組適當的預設屬性。

表 9–10 顯示 local.imta.schematag 值以及所選的預設屬性。

表 9–10 local.imta.schematag 值和屬性

模式標記值 

屬性 

sims40

mail,rfc822mailalias

nms41

mail,mailAlternateAddress

ims50

mail,mailAlternateAddress

但是,不再適合使用 $Q。為使郵件擷取和其他工具正常運作,已增強位址反向功能,除了關注存在相符項目這個事實之外,還關注相符的屬性。這意味著應使用 $R 而非 $Q 來指定篩選器。此外,已增加了 $N 中介字元,它會傳回與位址反向相關的屬性清單。選項值結果為:

REVERSE_URL=ldap:///$V?$N?sub?$R

local.imta.schematag 始終為以逗號分隔的清單。如果支援多個模式,則可使用屬性的組合清單 (重複屬性要排除)。

此外,篩選器不僅搜尋最初提供的位址,還搜尋具有相同本機部分、但實際在網域樹狀結構中找到網域的位址 (儲存在重寫規則機制小節的第二步中)。網域樹查詢的反覆性意味著這兩個位址可以不同。

例如,假設網域 siroe.com 顯示在網域樹狀結構中,並且 MTA 查看位址:

u@host1.siroe.com

$R 的擴充和 ims50 模式標記所產生的篩選器將如下所示:


(|(mail=u@siroe.com) 
     (mail=u@host1.siroe.com)
     (mailAlternateAddress=u@siroe.com)
     (mailAlternateAddress=u@host1.siroe.com)
     (mailEquivalentAddress=u@siroe.com)
     (mailEquivalentAddress=u@host1.siroe.com))

請注意,反向 URL 明確地指定包含標準化位址的屬性。通常為 mail 屬性。

建構 URL 之後會執行 LDAP 搜尋。如果搜尋成功,則傳回的第一個屬性值會取代原始位址。如果搜尋失敗或發生錯誤,則保留原始位址不變。

由於執行位址反向作業的頻率 (尤其是可以顯示在郵件標頭中的給定位址數量) 以及相關目錄查詢的耗用,正面結果和負面結果均需要快取。這項作業透過記憶體中開放式鏈接的動態延伸雜湊表來實作。快取記憶體的最大容量由 REVERSE_ADDRESS_CACHE_SIZE MTA 選項來設定 (預設 100000),而快取記憶體中項目 的逾時由 REVERSE_ADDRESS_CACHE_TIMEOUT MTA 選項來設定 (預設 600 秒)。快取記憶體實際上儲存位址本身,而非 LDAP URL 和 LDAP 結果。