通道級別的篩選器適用於在通道中形成佇列的每個郵件。此類篩選器的典型用途是封鎖通過特定通道的郵件。
表 17–4 filter 通道關鍵字 URL 式樣替換標記 (不區分大小寫)
標籤 |
含義 |
---|---|
* |
執行群組延伸。 |
** |
擴充 mailForwardingAddress 屬性。 該屬性可以是導致多個遞送位址產生的多值屬性。 |
$$ |
替換 $ 字元 |
$\ |
強制後續文字為小寫 |
$^ |
強制後續文字為大寫 |
$_ |
在後續文字上不執行大小寫轉換 |
$~ |
替換與位址本機部分關聯的主目錄檔案路徑 |
$1S |
與 $S 一樣,但是如果沒有可用的子位址,則不插入任何內容 |
$2S |
與 $S 一樣,但是如果沒有可用的子位址,則不插入任何內容並刪除前面的字元 |
$3S |
與 $S 一樣,但是如果沒有可用的子位址,則不插入任何內容並忽略後面的字元 |
$A |
替換位址 local-part@ host.domain |
$D |
替換 host.domain |
$E |
插入第二個備用屬性 LDAP_SPARE_1 的值 |
$F |
插入傳送檔案 (mailDeliveryFileURL 屬性) 的名稱 |
$G |
插入第二個備用屬性 LDAP_SPARE_2 的值 |
$H |
替換主機 |
$I |
插入託管網域 (由 domainUidSeparator 指定的分隔符號右邊的 UID 部分)。如果沒有可用的託管網域,操作會失敗 |
$1I |
與 $I 一樣,但是如果沒有可用的託管網域,則不插入任何內容 |
$2I |
與 $I 一樣,但是如果沒有可用的託管網域,則不插入任何內容並刪除前面的字元 |
$3I |
與 $I 一樣,但是如果沒有可用的託管網域,則不插入任何內容並忽略後面的字元 |
$L |
替換本機部分 |
$M |
插入 UID,刪除所有託管網域 |
$P |
插入方法名稱 (mailProgramDeliveryInfo 屬性) |
$S |
插入於目前位址關聯的子位址。子位址是子位址分隔符號 (通常為 +) 後原始位址的使用者部分,但是可由 MTA 選項 SUBADDRESS_CHAR 指定。如果未給定子位址,操作會失敗 |
$U |
插入目前位址的電子信箱部分。可以是 @ 符號左邊的整個位址,或是子位址分隔符號 + 前位址左邊的部分。 |
使用編寫篩選器。
將篩選器儲存到以下目錄的檔案中:
../config/file.filter
該檔案必須可被所有人讀取並屬於 MTA 的 UID。
請在通道配置中包含以下內容:
destinationfilter file:IMTA_TABLE:file.filter
重新編譯配置並重新啟動派送程式。
請注意,變更篩選器檔案不需要重新編譯或重新啟動派送程式。
destinationfilter 通道關鍵字可啟用已形成佇列至套用該關鍵字的通道上的郵件篩選功能。sourcefilter 通道關鍵字可啟用由(從) 套用該關鍵字的通道佇列的郵件上的郵件篩選功能。每個關鍵字都具有一個必需參數,用於指定與該通道關聯的相應通道篩選器檔案的路徑。
destinationfilter 通道關鍵字的語法如下:
destinationfilter URL-pattern |
sourcefilter 通道關鍵字的語法如下:
sourcefilter URL-pattern |
其中,URL-pattern 是一個 URL,用於指定問題通道的篩選器檔案路徑。在以下範例中,channel-name 為通道名稱。
destinationfilter file:///usr/tmp/filters/channel-name.filter |
filter 通道關鍵字可在套用該關鍵字的通道上啟用郵件篩選功能。該關鍵字包含一個必需參數,用於指定與經由通道接收郵件的每個訊息封收件者關聯的篩選器檔案之路徑。
filter 通道關鍵字的語法如下:
filter URL-pattern |
URL-pattern 是一個 URL,在處理完特殊替換序列後,會將路徑讓給指定收件者位址的篩選器檔案。URL-pattern 可以包含特殊的替換序列。如果遇到該序列,將使用從問題收件者位址 (local-part@host.domain) 中擷取的字串取代。表 17–4 顯示這些替換序列。
fileinto 關鍵字指定套用電子信箱篩選器 fileinto 運算子後如何變更位址。以下範例指定是否應將資料夾名稱作為子位址插入原來的位址,取代所有原先存在的子位址。
fileinto $U+$S@$D |