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

imsimta test -exp 輸出

完整的 imsimta test -exp 指令如下所示:

# imsimta test -exp -mm -block -input=temp.filter -message=rfc2822.msg

輸出範例如下:


範例 17–4 imsimta test -exp 輸出


# imsimta test -exp -mm -block -input tmp.filter -message=rfc2822.msg
Expression: if header :contains ["to"] ["pamw"]       (1)
Expression: {
Expression: redirect "usr3@sesta.com";
Expression: keep;
Expression: }
Expression:
Expression: Dump: header:2000114;0  3  1  :contains  1  "to"  1
"pamw"  if  8  ;
Dump: redirect:2000121;0  1  1  "usr3@sesta.com"  ;  keep:2000117;0 (2)
Dump: 0
Result: 0
Filter result: [ redirect "usr3@sesta.com" keep ]    (3)
            

1) The Expression: 輸出行顯示正在從 tmp.filter 文字檔中讀取並剖析的篩選器。這些篩選器對除錯程序檔不是特別有用。

2) Dump: 輸出行顯示電腦解譯篩選敘述的結果。您不會看到任何錯誤,並且輸出似乎與您的輸入匹配。例如,傾印顯示文字 redirectusr3@sesta.com,這與 redirect "usr3@sesta.com"; 篩選器檔案中的行類似

如果未顯示此匹配文字,則您應該加以注意,否則對除錯程序檔也不會特別有用。

3) 在輸出末尾,您將得到 Filter result: 敘述。與之前描述的一樣,有兩種可能的結果:

Sieve Result: [] 或:Sieve Result: [ action]

其中動作是指篩選程序檔採取的動作。請注意,有時結果應為空白。例如,對於捨棄篩選器,應測試其不是始終捨棄測試的每個 .msg 檔案。如果括號之間有某些動作,例如:

Filter result: [ fileinto "QMSG" keep]

這表示 rfc2822.msg 檔案中的文字符合篩選器條件。在此特定範例中,篩選器會將郵件歸檔至資料夾 QMSG,並在收件匣中保留其副本。在此情況下,結果動作為 fileintokeep

測試篩選器時,應測試各種 .msg 檔案以取得兩種結果。您應該永遠要測試與篩選器相符的郵件是否已被篩選出,而您不希望比對的郵件則未進行篩選。

請記住,如果是針對萬用字元匹配,則必須使用 :matches 測試而不是 :contains。例如,如果要 from=*@sesta.com 匹配,則必須使用 :matches,否則測試會因不滿足測試條件而失敗。