# # メールヘッダによるフィルタリングのための pcre (PERL-compatible # regular expression; Perl 互換正規表現) マップファイルのサンプル。 # 文法の詳細は pcre_table(5) を参照してください。 # # メッセージヘッダは一度に1つだけフィルタにかかります。このフィルタは # メッセージ本体の MIME ヘッダを含む、複数行にわたるメッセージヘッダを # 理解します。 # # 第1フィールドは perl 的正規表現です。表現のデリミタ(区切り文字)は # 空白文字と regexp ライブラリの特殊な意味をもつ文字以外ならどの # 文字でも使えます(伝統的にはスラッシュが使われます)。正規表現には # 空白を含めることができます。 # # デフォルトではマッチングは大文字と小文字は区別しませんが、 # 2つめのスラッシュに 'i' をつけると区別します。その他のフラグは # サポートされますが、他に役に立つのは 'U' だけで、これは # どん欲でないマッチングになります(これ以上の情報は PCRE の # ドキュメントとソースを参照して下さい)。 # # テーブルエントリのブロックを `if /pattern/flags' という行と # `endif' という行で「囲む」ことができます。これにより、 # 検索文字列にパターンがマッチしたときのみ、テーブルエントリの # ブロックが調べられるようになります。`if..endif' をネストする # こともできます。現在のところ `else' オペレータはありません。 # # 2番目のフィールドは "replacement" 文です - マッチするとその # テキストが返されます。 # # REJECT [optional text...] # メッセージ全体を拒否します。optional text は送信者に # 送られ、また maillog ファイルに記録されます。 # 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 を無効に # します。コンテンツフィルタリングのさらなる情報は # Postfix FILTER_README ファイルにあります。 # この機能は main.cf content_filter 設定を上書き # します。 # # マッチした表現からサブストリングスへの置換は典型的な perl 文法を # 使えば可能です。文置換の際に空白が続かないのであれば、そのマクロは # curly braces {} で保護することが必要かも知れません(下の例を参照)。 # # 空白ではじまる行は継続行です - その行は前の行に追加されます(正規 # 表現の前に空白があってはいけません!)。 # /^Subject: Make Money Fast/ REJECT /^To: friend@public.com/ REJECT