Frage
Wie kann ich eine Nachricht oder einen Content-Filter testen, um sicherzustellen, dass sie wie vorgesehen funktioniert?
Filter können getestet werden, um sicherzustellen, dass sie ordnungsgemäß funktionieren, indem Sie den Filter debuggen. Das Debuggen eines Filters ist ein zweistufiger Prozess, für den ein Systemquarantänebereich erforderlich ist.
Erstellen Sie in der GUI eine neue Systemquarantäne mit dem Namen 'FilterDebug'. Die Quarantänen werden unter 'Überwachung->Quarantänen' konfiguriert. Wenn Sie über ausreichend Speicherplatz für die Quarantäne verfügen, klicken Sie auf die Schaltfläche 'Quarantänen hinzufügen', um die FilterDebug-Quarantäne zu konfigurieren. Wenn nicht genügend Speicherplatz zur Verfügung steht, müssen Sie eine andere Quarantäne bearbeiten und den genutzten Speicherplatz verringern, um freien Speicherplatz freizugeben.
Erstellen Sie den Filter mit den Regeln (den Zuordnungskriterien), die Sie verwenden möchten, und legen Sie die Aktion auf "Quarantine('FilterDebug')" fest.
Um die Zuordnungsregeln zu debuggen, aktivieren Sie den Filter in der entsprechenden Mail Policy (wo Sie die Mail-Policy in der Produktion ausführen möchten), und generieren Sie Datenverkehr.
Nachrichten, die Ihren Regeln entsprechen, werden in die FilterDebug-Quarantäne verschoben, wo Sie sie untersuchen und sich vergewissern können, dass Ihre Regeln genau Ihren Wünschen entsprechen. Lassen Sie diese Nachrichten aus der Quarantäne frei, und sie werden normal zugestellt. Wenn Sie dies für eine Weile beobachten möchten, setzen Sie die Quarantäne-Aufbewahrungsfrist auf einen akzeptabel kurzen Zeitraum, und untersuchen Sie die Quarantäne in regelmäßigen Abständen, um festzustellen, welche Arten von Nachrichten Ihren Kriterien entsprechen.
Um Ihre Filteraktionen zu debuggen, erstellen Sie eine neue Mail Policy, die nur einen Testempfänger enthält. Deaktivieren Sie Ihre Regel in allen anderen Mail-Policys, und aktivieren Sie sie in dieser neuen Mail-Policy. Bearbeiten Sie Ihre Regel, um die gewünschten Aktionen auszuführen. Sie können die Quarantäneregeln entfernen.
Generieren Sie Datenverkehr, und überprüfen Sie die Nachricht bei der Zustellung (oder nicht, je nach Filter) an den Testempfänger, um sicherzustellen, dass Sie dies wünschen. Jetzt können Sie die abgeschlossene Regel in den Mail-Policys für Ihre Produktionsbereitstellung aktivieren und sie in der Test-Empfängerrichtlinie deaktivieren.
Eine ähnliche Prozedur kann zum Debuggen von Nachrichtenfiltern verwendet werden. Erstellen Sie zunächst die Kriterien, die Sie in der Produktion verwenden möchten:
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
quarantine ("FilterDebug");
}
Dies erfolgt über die 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
Überprüfen Sie die Nachrichten in Quarantäne mithilfe der Benutzeroberfläche und der Versionsinformationen. Beobachten Sie den Nachrichtenstrom weiterhin so lange, bis Sie zufrieden sind. Fügen Sie dann den Testempfänger zu den Regeln hinzu, und ändern Sie die Aktionen in die Aktionen, die in der Produktion ausgeführt werden sollen:
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");
}
In der CLI müssen Sie den Filter löschen und neu erstellen:
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
Überprüfen Sie, ob die Aktionen Ihren Vorstellungen entsprechen. (Je nach Filter können Sie auch einige Aktionen in mail_logs überprüfen.) Zuletzt setzen Sie den endgültigen Filter zusammen, indem Sie den Testempfänger entfernen:
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
alt-rcpt-to ("sam@exchange.scu.com");
}
Ein möglicherweise verwirrender Aspekt von Filtern und Quarantänen ist die Behandlung von Nachrichtenhauptteilen im Vergleich zu Nachrichtenkopfzeilen. In der ESA werden Nachrichtentext und Kopfzeile separat behandelt. Wenn Sie Nachrichten in der Quarantäne untersuchen, nachdem Sie die Aktionen angewendet haben, sehen Sie keine Manipulation der Kopfzeile, die an der Nachricht vorgenommen wurde (sie wird jedoch nach der Zustellung abgeschlossen.) Dies liegt daran, dass die Header-Verarbeitung separat und parallel durchgeführt wird, während eine Nachricht die Pipeline durchläuft. Die Nachricht wird vor der Zustellung mit ihrem (möglicherweise geänderten) Header wiedervereinigt, wird jedoch in der Quarantäne nicht angezeigt. In der Quarantäne werden alle Änderungen am Nachrichtentext angezeigt, z. B. das Entfernen von Anhängen oder das Stempeln in der Fußzeile.