Sun Java System Messaging Server 6.3 管理指南

9.2 位址反向

使用直接 LDAP 的位址反向,從值為 4 的 USE_REVERSE_DATABASE (停用任何反向資料庫) 開始。由於已棄用 Sleepycat 資料庫,因此您也應設定 USE_TEXT_DATABASES 以讀取 IMTA_TABLE:reverse.txt 檔案。然後在先前論述的路由工具上建立。尤其是在舊版中,它用以下形式的反向 URL 規格開頭:

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

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


備註 –

不建議因任何理由而變更 REVERSE_URL


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

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

模式標記值 

屬性 

sims40

mail,rfc822mailalias

nms41

mail,mailAlternateAddress

ims50

mail,mailAlternateAddress

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

$N 的值實際上無法控制:MTA 從其程序內定 (隨時會變更) 且會用於位址反向目的之相關屬性清單建構該值。如果您使用各種 LDAP_* 全域 MTA 選項變更 MTA 想使用的屬性名稱,您實際上會從 LDAP 取回不同的屬性。但一律會是語義上相應於 MTA 所構思的相關屬性之屬性。包含:LDAP_CAPTURE (無預設值)、LDAP_RECIPIENTLIMIT (無預設值)、LDAP_RECIPIENTCUTOFF (無預設值)、LDAP_SOURCEBLOCKLIMIT (無預設值)、LDAP_SOURCE_CHANNEL (無預設值)、LDAP_PERSONAL_NAME (無預設值)、LDAP_SOURCE_CONVERSION_TAG (無預設值)、LDAP_PRIMARY_ADDRESS (mail)、LDAP_ALIAS_ADDRESSES (mailAlternateAddress)、LDAP_EQUIVALENCE_ADDRESSES (mailEquivalentAddress) 和 LDAP_SPARE_* 屬性。

選項值結果為:

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

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

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

例如,假設網域 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))

反向查詢會傳回數個屬性,且 MTA 知道要使用 mail 屬性 (更確切地說,由 LDAP_PRIMARY_ADDRESS 所命名的屬性) 做為位址反向的屬性。請注意,另外也會允許 mailEquivalentAddress (更確切地說,由 LDAP_EQUIVALENCE_ADDRESSES 所命名的屬性)。

建構 URL 之後會執行 LDAP 搜尋。如果搜尋成功,LDAP 實質上會以任意順序傳回多個屬性。如果搜尋失敗或發生錯誤,則保留原始位址不變。

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