質問
メッセージやコンテンツ フィルタが意図したとおり動作するかをテストするにはどうしますか。
フィルタをデバッグすることで、フィルタが正常に動作していることをテストできます。フィルタのデバッグは、システム隔離エリアを必要とする 2 つのステップからなるプロセスです。
GUI に「FilterDebug」と呼ばれる新しいシステム隔離を作成します。隔離は [Monitor]->[Quarantines] 配下に設定します。 使用可能な隔離スペースがある場合、[Add Quarantines] ボタンをクリックし、FilterDebug 隔離を設定します。 使用可能なスペースが十分にない場合、空き領域を作るため、他の隔離を編集し、それが使用するスペースを減らす必要があります。
使用する予定のルール(一致条件)でフィルタを作成し、アクションに [Quarantine('FilterDebug')] を設定します。
一致ルールをデバッグするには、適切なメール ポリシー(実稼働環境で実行する予定の場所)のフィルタを有効にし、トラフィックを生成します。
ルールに一致するメッセージは FilterDebug 隔離に入り、そこで調査し、ルールが期待する結果と正確に一致していることを確認できます。 隔離からこれらのメッセージをリリースすると、通常どおり送信されます。 これをしばらく監視したい場合、隔離保持期間を許容できる短い時間に設定し、通常の間隔で隔離を調査し、どの種類のメッセージが条件に一致するかを確認します。
フィルタ アクションをデバッグするには、1 人のテスト受信者のみを含む新しいメール ポリシーを作成します。他のすべてのメール ポリシーでルールを無効にし、この新しいメール ポリシーでこれを有効にします。 必要なアクションを講じるよう、ルールを編集します。 隔離ルールを削除できます。
希望どおりであるかを確認するため、トラフィックを生成し、メッセージがテスト受信者に送信されたか(またはフィルタに応じて、送信されないか)を確認します。これにより、完成したルールを実稼働環境用のメール ポリシーで有効にし、テスト受信者ポリシーで無効にできます。
メッセージ フィルタをデバッグするため、同様の手順が使用できます。 実稼働環境で使用する条件を作成することから始めます。
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
quarantine ("FilterDebug");
}
これは CLI で実行されます。
smtp.example.com>filters
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]> new
Enter filter script. Enter '.' on its own line to end.
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
quarantine ("FilterDebug");
}
.
1 filters added.
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]>
smtp.example.com >commit
Please enter some comments describing your changes:
[]> add RedirectEarningsReports filter test actions (incomplete)
Changes committed: Wed Nov 24 12:00:10 2004 MST
隔離されたメッセージを GUI を使用して確認し、メッセージをリリースします。 納得するまで、このようにメッセージ ストリームを続けます。 次にテスト受信者をルールに追加し、アクションを実稼働環境で実行するように変更します。
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings")
and (rcpt-to == "(?i)alan@exchange\\.scu\\.com$") {
alt-rcpt-to ("sam@exchange.scu.com");
}
CLI でフィルタを削除し、再作成する必要があります。
smtp.example.com> filters
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]> list
Num Active Valid Name
1 N Y betatest
2 N Y StripInboundExes
3 Y Y RedirectEarningsReports
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]> delete
Enter the filter name, number, or range:
[]> 3
1 filters deleted.
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]> new
Enter filter script. Enter '.' on its own line to end.
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings")
and (rcpt-to == "(?i)alan@exchange\\.scu\\.com$") {
alt-rcpt-to ("sam@exchange.scu.com");
}
.
1 filters added.
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]>
smtp.example.com> commit
Please enter some comments describing your changes:
[]> set RedirectEarningsReports to test recipient
Changes committed: Wed Nov 24 12:10:07 2004 MST
アクションが希望どおりのことを行うかを確認します。 (フィルタに応じて、mail_logs のいくつかのアクションも確認できます)。 最後にテスト受信者を削除し、最終的なフィルタをまとめて置きます。
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
alt-rcpt-to ("sam@exchange.scu.com");
}
フィルタと隔離で混乱する可能性があるのは、メッセージ本文とメッセージ ヘッダーの処理です。 ESA では、メッセージ本文とヘッダーは個別に処理されます。アクションを適用後に隔離でメッセージを確認した場合、メッセージでヘッダー操作が行われたことは分かりません(しかし送信時には行われています)。 これは、パイプラインを通じてメッセージが進むにつれ、ヘッダーの処理が個別に並行して行われるためです。 メッセージは配信される前に、(修正された可能性のある)ヘッダーと再結合しますが、隔離には表示されません。 隔離内の添付のストリッピングまたはフッターのスタンピングなど、メッセージ本文の変更は、表示されます。