Vraag
Hoe test ik een bericht of inhoudsfilter om er zeker van te zijn dat het werkt zoals ontworpen?
Filters kunnen worden getest om er zeker van te zijn dat ze goed werken door het filter te debuggen. Het zuiveren van een filter is een proces in twee stappen dat een systeemquarantainegebied vereist.
Maak een nieuwe systeemquarantaine in de GUI met de naam 'FilterDebug'. Quarantines zijn ingesteld onder 'Monitor->Quarantines. Als u enige quarantaineruimte beschikbaar hebt, klik op de knop 'Add Quarantines' om de FilterDebug quarantaine te configureren. Als er niet genoeg ruimte beschikbaar is, moet u een andere quarantaine bewerken en de ruimte die het gebruikt verkleinen om wat vrije ruimte beschikbaar te maken.
Maak het filter met de regels (de bijpassende criteria) die u verwacht te gebruiken en stel de actie in op "Quarantaine ('FilterDebug')".
Om uw passende regels te zuiveren, laat de filter op het aangewezen Mail Beleid (waar u het van plan bent in productie te lopen) toe en produceer verkeer.
Berichten die overeenkomen met uw regels zullen in de FilterDebug quarantaine gaan, waar u ze kunt onderzoeken en jezelf ervan kunt overtuigen dat uw regels precies overeenkomen met wat u wilt. Laat die berichten vrij uit quarantaine, en ze zullen normaal geleverd worden. Als je dit een tijdje wil bekijken, stel de quarantaineperiode in op iets dat acceptabel kort is en controleer de quarantaine met regelmatige tussenpozen om te zien welke soorten berichten aan je criteria voldoen.
Om uw filteracties te zuiveren, maak een nieuw Mail Beleid dat slechts één testontvanger heeft. Schakel uw regel uit in alle andere Mail Policies en schakel deze in dit nieuwe Mail Policy in. Bewerk je regel om de gewenste acties te ondernemen. U kunt de quarantaine regel verwijderen.
Genereer verkeer en controleer het bericht zoals het wordt geleverd (of niet, afhankelijk van uw filter) aan de testontvanger om te verifiëren dit is wat u wilt. Nu kunt u de voltooide regel in het Mail-beleid voor uw productie-implementatie inschakelen en uitschakelen uit het test-ontvangerbeleid.
Een gelijkaardige procedure kan worden gebruikt om berichtfilters te zuiveren. Begin met het opstellen van de criteria die u wilt gebruiken in productie:
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
quarantine ("FilterDebug");
}
Dit gebeurt in de 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
Onderzoek de berichten in quarantaine met behulp van de GUI en laat berichten vrij. Blijf op deze manier naar de berichtstroom kijken tot je tevreden bent. Voeg vervolgens uw testontvanger toe aan de regels en wijzig de acties in wat u in productie wilt uitvoeren:
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 de CLI moet u het filter verwijderen en opnieuw genereren:
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
Controleer of de acties doen wat u wilt. (Afhankelijk van uw filter, kunt u ook een aantal van de acties in de mail_logs verifiëren.) Ten slotte het uiteindelijke filter samenvoegen door de ontvanger van de test te verwijderen:
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
alt-rcpt-to ("sam@exchange.scu.com");
}
Een mogelijk verwarrend aspect van filters en quarantaines is de behandeling van berichtlichamen tegenover berichtkopballen. In de ESA worden de berichttekst en de header afzonderlijk behandeld. Als u berichten in de quarantaine na het toepassen van acties onderzoekt, zult u geen kopbalmanipulatie die aan het bericht wordt gedaan zien (maar het zal bij levering worden voltooid.) Dit komt doordat de headerverwerking afzonderlijk, parallel, gebeurt als een bericht door de pijpleiding vordert. Het bericht wordt herenigd met zijn (potentieel gewijzigde) kop vóór levering, maar wordt niet gezien in de quarantaine. In de quarantaine ziet u wijzigingen in de inhoud van het bericht, zoals het afbijten van de bijlagen of het stempelen van de voettekst.