Inhalt

Frage

Frage

Wie prüfe ich eine Nachricht oder einen Inhaltsfilter, um sicherzustellen, dass sie wie vorgesehen funktioniert?

Filter können getestet werden, um sicherzustellen, dass sie ordnungsgemäß funktionieren, indem der Filter gedebuggt wird. Das Debuggen eines Filters ist ein zweistufiger Prozess, der einen Quarantänebereich für das System erfordert.

Erstellen Sie in der GUI eine neue Systemquarantäne mit dem Namen 'FilterDebug'. Quarantänen werden unter 'Monitor->Quarantines' konfiguriert.  Wenn Quarantänebereich verfügbar ist, klicken Sie auf die Schaltfläche "Quarantänehinzufügen", um die Quarantäne für FilterDebug zu konfigurieren.  Wenn nicht genügend Speicherplatz zur Verfügung steht, müssen Sie eine andere Quarantäne bearbeiten und den Speicherplatz, den diese benötigt, um freien Speicherplatz verfügbar zu machen, verringern.

Erstellen Sie den Filter mit den Regeln (den Zuordnungskriterien), die Sie verwenden möchten, und legen Sie die Aktion auf "Quarantine('FilterDebug')" fest.

Aktivieren Sie zum Debuggen der Zuordnungsregeln den Filter in der entsprechenden Mail-Richtlinie (in der Sie beabsichtigen, diese in der Produktion auszuführen), und generieren Sie Datenverkehr.

Nachrichten, die mit Ihren Regeln übereinstimmen, werden in die FilterDebug-Quarantäne verschoben, in der Sie diese überprüfen und sich davon überzeugen können, dass Ihre Regeln genau dem entsprechen, was Sie möchten.  Lassen Sie diese Nachrichten aus der Quarantäne, und sie werden normal zugestellt.  Wenn Sie dies für eine Weile beobachten möchten, setzen Sie die Quarantäne-Aufbewahrungszeit auf eine annehmbar kurze Länge, und überprüfen Sie die Quarantäne in regelmäßigen Abständen, um festzustellen, welche Nachrichten Ihren Kriterien entsprechen.

Erstellen Sie zum Debuggen der Filteraktionen eine neue Mail-Policy, die nur einen Testempfänger hat. Deaktivieren Sie Ihre Regel in allen anderen Mail-Policys, und aktivieren Sie sie in dieser neuen Mail-Policy.  Bearbeiten Sie die Regel, um die gewünschten Aktionen auszuführen.  Sie können die Quarantäneregel entfernen.

Generieren Sie Datenverkehr, und überprüfen Sie die Nachricht während der Bereitstellung (oder nicht, je nach Filter) an den Testempfänger, um sicherzustellen, dass dies das ist, was Sie möchten. Jetzt können Sie die abgeschlossene Regel in den Mail-Policys für die Produktionsbereitstellung aktivieren und in der Test-Empfängerrichtlinie deaktivieren.

Ein ähnliches Verfahren 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 in der 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 geben Sie sie wieder.  Beobachten Sie den Nachrichtenstream so lange, bis Sie zufrieden sind.  Fügen Sie anschließend den Testempfänger zu den Regeln hinzu, und ändern Sie die Aktionen in das, was Sie in der Produktion ausführen möchten:

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 Ihre Wünsche erfüllen.  (Je nach Filter können Sie auch einige Aktionen in den mail_logs überprüfen.) Legen Sie den letzten 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 potenziell verwirrender Aspekt von Filtern und Quarantänen ist die Behandlung von Nachrichtenhauptteilen gegenüber Nachrichtenheadern.  In der ESA werden Nachrichtentext und Header getrennt behandelt. Wenn Sie Nachrichten in der Quarantäne nach dem Anwenden von Aktionen untersuchen, werden Sie keine Headermanipulation an der Nachricht sehen (diese wird jedoch bei der Zustellung abgeschlossen.) Dies liegt daran, dass die Headerverarbeitung getrennt und parallel erfolgt, während eine Nachricht die Pipeline durchläuft.  Die Nachricht wird vor der Zustellung mit ihrem (möglicherweise geänderten) Header wiedervereinigt, wird jedoch nicht in der Quarantäne angezeigt.  Sie sehen alle Änderungen am Text der Nachricht, z. B. Entfernen von Anhängen oder Vorstempeln, in der Quarantäne.