例:受信者別のテスト

メッセージの受信者別に PureMessage が異なるアクションを実行するようにルールを作成します。このルールが適用される場合、PureMessage は複数の受信者に宛てられたメッセージをコピーして分け、コピーを個別に操作します。これによって複数の受信者に宛てられたメッセージの個別の受信者に対して異なるアクションを指定できます。

受信者別のルールは、「Envelope from」(送信者) および「Envelope to」(受信者) のテストを使用して作成されます。この例では、「XYZ」社のカスタマサービス担当者に宛てられたメッセージにバナーを追加するルールを作成します。

PureMessage Manager を使用して受信者別のテストを実行するには

  1. Policy」(ポリシー) タブのサイドバーにある「Backups」(バックアップ) の横の「Create」(作成) をクリックします。現在のポリシーのバックアップが作成され、現在の日付と時刻が「Backups」(バックアップ) セクションのサイドバーに表示されます。
  2. Policy」(ポリシー) タブのサイドバーにある「Policy Rules」(ポリシールール) をクリックして現在のポリシーを表示します。
  3. Mail from external hostss」(外部ホストからのメール) をクリックします。
  4. add rule」(ルールを追加) (「Execute actions and rules」(アクションおよびルールを実行) の横) をクリックします。これによって新しいルールが作成されます。
    1. テストを設定する
      1. 「(New Rule)」(新しいルール) のテキストを「Add banner for selectedrecipients only」(選択された受信者にのみバナーを追加する) に変更します。
      2. Tests」(テスト) のドロップダウンリストから「Envelope to」(受信者) を選択します。
      3. 2番目のドロップダウンリストから「Is」を選択します。
      4. 横のテキストボックスに以下を入力します。
        "kurt@service.xyz.com", "kris@service.xyz.com", "dave@service.xyz.com"
    2. アクションを設定する
      1. Execute actions and rules」(アクションおよびルールを実行) のドロップダウンリストで「Add Banner」(バナーの追加) を選択します。
      2. ドロップダウンリストの右側にある「Arguments」(引数) ボタンをクリックします。
      3. Append banner to message body」(メッセージの本文にバナーを追加) チェックボックスを選択します。
      4. Data_type」のドロップダウンリストから「Verbatim」(逐語的) を選択します。
      5. File or string」(ファイルまたは文字列) のテキストボックスに「ATTENTION」と入力します。
      6. OK」をクリックします。
      7. Save」(保存) をクリックします。
    3. ルールの順序を変更する
      1. Cut」(切り取り) をクリックします。「Add banner for selected recipients only」(選択された受信者にのみバナーを追加する) ルールが切り取られたことを示すメッセージがページ上部に表示されます。
      2. Clean mail containing viruses」(ウイルスを含むメールをクリーンアップする) というルールをクリックします。
      3. Paste」(貼り付け) をクリックします。「Add banner for selected recipients only」(選択された受信者にのみバナーを追加する) ルールが「Clean mail containing viruses」(ウイルスを含むメールをクリーンアップする) ルールの下の新しい位置に表示されます。


    4. Commit」(確定) リンクをクリックして、使用中のポリシースクリプトをアップデートします。PureMessage によって Milter が古い設定で実行されていることを知らせるメッセージが表示されます。Milter は再起動しないでください。
  5. 新しいポリシーをテストする:サービスが再起動されるまで Milter は元のポリシーを使用します。ただし、新しいポリシーは「ライブ」に設定せずにテストできます。
    1. Policy」(ポリシー) タブのサイドバーにある「Test Current Policy」(現在のポリシーをテストする) をクリックします。「Test Current Policy」(現在のポリシーをテストする) ページが表示されます。
    2. Select Relay Type」(リレータイプを選択) のドロップダウンリストから、「External」(外部) を選択します。
    3. Envelope From」(送信者) テキストボックスに以下を入力します。
      customer@example.com
    4. Envelope To」(受信者) テキストボックスに以下を入力します。
      kurt@service.xyz.com, jane@sales.xyz.com
    5. デフォルトで「message source」(メッセージソース) テキストボックスに表示されるサンプルテキストを受け入れます。
    6. Test」(テスト) をクリックします。テストの実行および結果が表示されます。2つの結果メッセージに対する各々の「Delivery Action」(配信アクション) は「keep」(保持) であることにご注意ください。
    7. Resulting Message」(結果メッセージ) 列の最初のメッセージの番号をクリックします。本文のテキストの下に「ATTENTION」(注意) というバナーテキストが表示されることにご注意ください。
    8. Message Preview」(メッセージのプレビュー) ウィンドウで、「Quarantine Info」(隔離情報) タブをクリックします。「Envelope From」(送信者) および「Envelope To」(受信者) の詳細が、「Quarantine Info」(隔離情報) テーブルに表示されます。
    9. Resulting Message」(結果メッセージ) 列で 2番目のメッセージの番号をクリックしてバナーが追加されなかったメッセージの詳細を参照します。
  6. 新しいポリシーで問題ない場合、「Restart now」(今すぐ再起動) をクリックして Milter を再起動し、新しいポリシーをライブに設定します。元のポリシーを復元する場合、バックアップのリンクをクリックして、「OK」をクリックします。

ポリシースクリプト

ポリシースクリプトを手動で編集して受信者別にテストを実行するには

# attr NAME=Mail from external hosts
else {
    pmx_add_header "X-PMX-Version" "%%PMX_VERSION%%";
    pmx_mark "Size" "%%MESSAGE_SIZE%%";
    # attr NAME=Clean mail containing viruses
    if pmx_virus {
        pmx_file "Virus";
        pmx_virus_clean "cantclean.tmpl";
        pmx_replace_header "Subject" "[PMX:VIRUS] %%SUBJECT%%";
        pmx_replace_header "X-PerlMx-Virus-Detected" "%%VIRUS_IDS%%";
    }
    # attr NAME=Add banner for selected recipients only
    if envelope :comparator "i;ascii-casemap" :all :is ["to"] ["kurt@service.xyz.com",
                                                               "kris@service.xyz.com",
                                                               "dave@service.xyz.com"]
    {
        pmx_add_banner :body :data "ATTENTION";
        keep;
    }
}

コマンドラインからのポリシースクリプト変更の詳細については、ポリシースクリプトのチュートリアルをご覧ください。