# regexp メッセージヘッダフィルタの検索"テーブル"の例。文法の詳細は # regexp_table(5) を参照してください。 # # メッセージヘッダは一度に1つだけフィルタにかかります。このフィルタは # メッセージ本体の MIME ヘッダを含む、複数行にわたるメッセージヘッダを # 理解します。 # # 一般的なテーブルエントリの書式は PATTERN RESULT です。 # # pattern の書式は /regexp/flags または !/regexp/flags です。 # ここで regexp は re_format(7) に出てくる正規表現であり、flags は # i: トグルで大文字・小文字を無視(REG_ICASE - デフォルトは無視する) # x: トグルで表現を拡張(REG_EXTENDED - デフォルトは拡張する) # m: トグルで複数行モード(REG_NEWLINE - デフォルトは非複数行モード) # です。 # # 行をマッチさせるためには、正規表現がマッチしなければいけません。 # 正規表現の前に ! というプレフィックスがついていたら、マッチしては # いけません。最初にマッチした(しなかった)行が勝ち、ルールセットの # 処理が終ります。 # # テーブルエントリのブロックを `if /pattern/flags' または # `if !/pattern/flags' という行と `endif' という行で「囲む」ことが # できます。これにより、検索文字列のマッチが成功した(しなかった)とき # のみ、テーブルエントリのブロックが調べられるようになります。 # `if..endif' をネストすることもできます。現在のところ `else' # オペレータはありません。 # # result は次のいずれかです: # REJECT [optional text...] # メッセージ全体を拒否します。optional text は送信者に送られ、 # また maillog ファイルに記録されます。 # OK このヘッダ行に対しては、以降のヘッダパターンを全てスキップ # します。 # IGNORE ヘッダ行は静かに破棄されます。 # WARN [optional text...] # メッセージヘッダと optional text がログに記録されます。これは # テストの際に便利です。パターンに問題がなければ、WARN を # REJECT や DISCARD に変えてください。 # HOLD [optional text...] # hold キューにメッセージを置きます。hold にあるメールは postcat # コマンドで調べることと、postsuper コマンドで破棄したり # hold を解除したり(つまり配送したり)することができます。 # マッチしたヘッダは optional text とともにログに記録されます。 # DISCARD [optional text...] # 配送の成功を主張した上で、静かにメッセージを破棄します。 # マッチしたヘッダは optional text とともにログに記録されます。 # FILTER transport:nexthop # メッセージがキューに入った後で、そのメッセージはコンテンツ # フィルタに送られます。これはフィルタの前後に異なる cleanup # サーバが必要となり、後の cleanup サーバでは header/body # checks を無効にします。この機能は main.cf content_filter 設定を # 上書きします。 /^Subject: Make Money Fast/ REJECT /^To: friend@public.com/ REJECT