$]ldap-url[ 格式的替換被解譯為 LDAP 查詢 URL,並且 LDAP 查詢的結果會被替換。標準 LDAP URL 在使用時會省略主機和連接埠,而是在 msg.conf 檔案 (local.ldaphost 和 local.ldapport 屬性) 中指定主機和連接埠。
即,LDAP URL 應按以下方式指定,其中方括號字元 [ ] 表示 URL 的選擇性部分:
ldap:///dn[?attributes[?scope?filter]]
dn 是必要的,它是指定搜尋基底的辨別名稱。URL 的選擇性部分 (屬性、範圍和篩選器) 會進一步細加區別要傳回的資訊。對於重寫規則,指定傳回的所需屬性可能是 mailRoutingSystem 屬性 (或某些類似的屬性)。該範圍可能是任何基底 (預設),或子基底。並且,所需的篩選可能會請求物件的傳回,該物件的 mailDomain 值符合被重寫的網域。
如果 LDAP 目錄模式包含屬性 mailRoutingSystem 和 mailDomain,則可能顯示決定將指定位址類型路由至哪個系統的重寫規則,如下所示,其中 LDAP URL 替換序列 $D 用於將目前的網域名稱替換為已建構的 LDAP 查詢:
.siroe.com \ $U%$H$D@$]ldap:///o=siroe.com?mailRoutingSystem?sub? \ (mailDomain=$D) |
為了便於讀取,使用反斜線字元將單一邏輯重寫規則行延續至第二個實體行。表 11–5 列出了 LDAP URL 替換序列。
表 11–5 LDAP URL 替換序列
替換序列 |
說明 |
---|---|
$$ |
文字 $ 字元 |
$. |
建立字串,以暫時性 LDAP 查詢失敗時的對映項目結果進行處理。依預設,只有在目前規則期間,暫時失敗字串才會持續保持設定。「$..」可用來返回至預設狀態,其中不會設定任何暫時失敗字串,而且暫時 LDAP 失敗會造成對映項目或重寫規則失敗。請注意,除了無法比對目錄項目的狀況之外,其他全部錯誤都會被視為暫時錯誤;通常無法區別不正確 LDAP URL 造成的錯誤和目錄伺服器配置問題造成的錯誤。 |
$~ account |
使用者帳號的主目錄 |
$A |
位址 |
$D |
網域名稱 |
$H |
主機名稱 (完全合格的網域名稱的第一部分) |
$L |
不包含任何特殊前導字元 (如 ~ 或 _) 的使用者名稱 |
$S |
子位址 |
$U |
使用者名稱 |
現在,MTA 可從重寫規則和對映中執行的查詢中快取 URL 結果。這一新 URL 結果快取由兩個新 MTA 選項 URL_RESULT_CACHE_SIZE (預設為 10000 個項目) 和 URL_RESULT_CACHE_TIMEOUT (預設為 600 秒) 所控制。