Sun Java System Messaging Server 6.3 管理指南

14.2.3 指定要在垃圾郵件上執行的動作

垃圾郵件篩選程式分析郵件並將垃圾郵件或非垃圾郵件的判定結果傳回目前版本的 Messaging Server。然後,Messaging Server 對郵件執行動作。動作藉由篩選郵件篩選語言所指定。可能的動作包括捨棄郵件、將郵件歸檔至資料夾、增加標頭和向主旨行增加標記等。帶有 if-then-else 描述的複雜篩選程序檔亦有可能。


備註 –

請參閱篩選規格 3028 以取得完整的篩選語法。另請參閱


篩選程序檔是透過表 14–1 中說明的 MTA 垃圾郵件篩選器選項 (option.dat) 指定的。主要的垃圾郵件篩選器動作選項包括 SpamfilterX_null_action (指定傳回的垃圾郵件判定結果值為空值時所要執行的篩選規則) 和 SpamfilterX_string_action (指定傳回的垃圾郵件判定結果為字串時所要執行的篩選規則)。

垃圾郵件篩選程式通常向 MTA 傳回字串或空值表示該郵件為垃圾郵件。某些程式還傳回垃圾郵件分值 — 評定郵件為垃圾郵件之可能性的數字。此分值可用作動作序列的一部分。以下範例顯示如何指定對篩選的郵件採取的動作。每個範例均假設一個由數字 1 指定的篩選程式。

範例 1:將垃圾郵件與判定結果值 (空值) 一同歸檔至檔案 SPAM_CAN

spamfilter1_null_action=data:,require "fileinto"; fileinto "SPAM_CAN”;

可在傳回字串的垃圾郵件上執行相同的動作:

spamfilter1_string_action=data:,require "fileinto"; fileinto "SPAM_CAN”;

範例 2:將垃圾郵件與傳回的判定結果字串一同歸檔至以傳回的判定結果字串命名的檔案 (這是 $U 的工作)。亦即,如果傳回的判定結果字串為 spam,則將該郵件儲存在稱為 spam 的檔案中。

spamfilter1_null_action=data:,require "fileinto"; fileinto "$U”;

範例 3:捨棄帶有字串判定結果值的垃圾郵件。

spamfilter1_string_action=data:,discard

可在傳回空值的垃圾郵件上執行相同的動作:

spamfilter1_null_action=data:,require "fileinto"; fileinto "SPAM_CAN”;

範例 4。此行將 Spam-test: FAIL 標頭增加至由字串判定結果值確定為垃圾郵件的每個郵件。

spamfilter1_string_action=data:,require ["addheader"];addheader "Spam-test: FAIL”;

範例 5。此行將字串 [PROBABLE SPAM] 增加至傳回字串的垃圾郵件的主旨行:

spamfilter1_string_action=data:,addtag “[PROBABLE SPAM]”;

範例 6。如果標頭包含 resent-fromUser-1,此行將假設字串判定結果值並對電子信箱 testspam 中的垃圾郵件進行歸檔。如果郵件不包含此標頭,則將該郵件歸檔至 spam

spamfilter1_string_action=data:,require "fileinto"; \
  if header :contains ["resent-from"] ["User-1"] {  \
  fileinto "testspam"; \
  } else {  \
  fileinto "spam";};

因為判定結果字串可藉由大多數垃圾郵件篩選器軟體進行配置,所以您可以根據傳回的字串指定不同的動作。這可透過相符的配對選項 spamfilterX_verdict_nspamfilterX_action_n 執行。

範例 7。這些相符的配對選項捨棄傳回的判定結果字串為 remove 的垃圾郵件。


spamfilter1_verdict_0=remove
spamfilter1_action_0=data:,discard

請參閱垃圾郵件篩選軟體的特定小節,以取得有關如何指定垃圾郵件判定結果字串的說明。

表 14–1 MTA 垃圾郵件篩選器選項 (option.dat)

適用於 SpamAssassin 的 MTA 選項 

說明 

Spamfilter X_config_file

指定篩選軟體 X 配置檔案的完整檔案路徑和名稱。預設值:無 

Spamfilter X_library

指定篩選軟體 X 共用程式庫的完整檔案路徑和名稱。預設值:無 

Spamfilter X_optional

控制篩選程式庫 X 報告的某些失敗是否作為暫時性失敗處理或被忽略。0 表示垃圾郵件篩選問題會導致暫時性處理失敗。1 會導致在某些 (但可能並非所有) 篩選程式庫發生失敗的情況下,略過垃圾郵件篩選器處理。尤其是,如果系統阻塞而未在程式庫程式碼中傳回,則 MTA 的一些部分也可能阻塞。-2 和 2 分別與 0 和 1 相同,但是如果垃圾郵件篩選外掛程式報告發現問題,它們將造成送出 syslog 訊息。3 會導致垃圾郵件篩選器無法接受郵件,但會將此郵件排入佇列至重新處理通道,以在稍後進行處理。4 的功能與 3 相同,但還會將垃圾郵件篩選器的暫時性失敗記錄至 syslog 中。

預設值:0

LDAP_optin X

指定用於針對個別使用者啟動篩選軟體 X 的 LDAP 屬性名稱。篩選是根據目標位址進行。這表示,導向至使用者的郵件具有此屬性時,會篩選是否為垃圾郵件。這應為 inetMailUser 物件類別中的屬性。

此屬性本身可以有多個值且區分大小寫。對於 SpamAssassin,它的值應為小寫的 spam

預設值:無 

LDAP_SOURCE_OPTIN X

LDAP_SOURCE_OPTIN1LDAP_SOURCE_OPTIN8 都可針對個別使用者按照發起者位址提供垃圾郵件篩選選項值,相當於 LDAP_optinX。這表示,此使用者發起的郵件會經過垃圾郵件的篩選。

LDAP_domain_attr_optin X

指定用於針對網域啟動篩選軟體 X 之屬性 LDAP 的名稱。適用於目標網域。除應屬於物件類別 mailDomain 之外,其餘與 LDAP_optin 相同。

預設值:無 

Spamfilter X_null_optin

指定一個字串,如果發現該字串是由 LDAP_optinXLDAP_domain_attr_optinX 定義的屬性值,則會導致 MTA 執行該屬性不存在時會執行的動作。即,停用對該項目的篩選。請參閱14.2.2 指定要篩選的郵件

預設值:空字串。依預設空屬性被忽略。(這與 iPlanet Messaging Server 5.2 不同,在 5.2 版中,空 optin 屬性藉由空 optin 清單觸發篩選。可透過將 spamfilterX_null_optin 設定為虛擬字串來復原 5.2 版的運作方式。)

Spamfilter X_null_action

定義一種篩選規則用於指定當篩選軟體 X 判定結果傳回空值時如何處理郵件。可透過使用檔案 URL 在外部儲存篩選表示式。例如:file:///var/opt/SUNWmsgsr/config/null_action.sieve。此外,請勿使用篩選 reject 動作拒絕垃圾郵件,因為這樣做會向無辜的一方 (其位址用於傳送垃圾郵件) 傳送「未傳送通知」。預設值:data:,discard;

SpamfilterX_string_action

定義一種篩選規則用於指定當判定結果為字串時如何處理郵件。可透過使用檔案 URL 在外部儲存篩選表示式。例如: file:///var/opt/SUNWmsgsr/config/null_action.sieve。此外,請勿使用篩選 reject 動作拒絕垃圾郵件,因為這樣做會向無辜的一方 (其伺服器用於傳送垃圾郵件) 傳送「未傳送通知」。

預設值:data:,require "fileinto"; fileinto "$U;

其中,$U判定結果傳回的字串。

spamfilterX_verdict_ n

spamfilterX_verdict_nspamfilterX_action_n 組成相符的一對選項,其中,n 是 0 到 9 之間的一個數字。這兩個選項可讓您為任意判定結果字串指定篩選器。執行方法為,將 spamfilterX_verdict_nspamfilterX_action_n 分別設定為判定結果字串和篩選器,其中,n 是 0 到 9 之間的一個整數。例如,站點可透過指定以下內容使「reject」判定結果導致篩選 rejct 動作:


spamfilter1_verdict_0=reject
spamfilter1_action_0=data:,require "reject";
reject "Rejected by spam filter";

所有 spamfilterX_verdict_n 選項及相應動作選項的預設值均為空字串。

預設值:無 

spamfilter X_action_n

請參閱 spamfilterX_verdict_n。預設值:無

spamfilter X_final

某些篩選程式庫可以根據收件者位址執行一組動作。spamfilterX_final 指定傳送至篩選程式庫的收件者位址類型。值 0 會導致使用中間位址;1 則會傳送收件者位址的最終格式。

預設值:0

optin_user_carryover

轉寄對於垃圾郵件篩選器處理而言是個挑戰。考量指定 forward 傳送選項以及指定其他使用者轉寄位址的使用者項目。此外,使用者項目設定為選擇加入某些特定類型的篩選。是否應該將篩選套用至轉寄的郵件?一方面,對特定使用者而言正確的篩選選擇對其他使用者卻不一定正確。另一方面,結束篩選作業可能會成為違反站點安全策略的手段。

沒有一個答案在所有情況下都是正確的,因此 OPTIN_USER_CARRYOVER 控制在轉寄時如何將垃圾郵件篩選 optin 清單從一個使用者或別名項目傳送至其他項目。這是位元編碼的值。各種位元值涵義如下:

位元 0 (值 1)。每個 LDAP 使用者項目無條件地覆寫先前使用中的任何使用者/網域 optin。 

位元 1 (值 2)。如果使用者的網域具有 optin 屬性,則會覆寫先前任何使用中的使用者/網域/別名 optin。 

位元 2 (值 4)。如果使用者具有 optin 屬性,則會覆寫先前使用中的任何使用者/網域/別名 optin。 

位元 3 (值 8)。由 [optin] 非位置參數指定的 optin 覆寫先前使用中的任何使用者/網域/別名 optin。 

預設值:0 (如果一個使用者具有轉寄至其他使用者的投遞項目,則 optin 將會累積。此預設可確保站點安全策略在轉寄時有效;而其他設定則無法確保這一點。)