Pergunta
Como faço para testar uma mensagem ou um filtro de conteúdo para garantir que esteja funcionando como planejado?
Os filtros podem ser testados para garantir que estejam funcionando corretamente ao depurar o filtro. A depuração de um filtro é um processo de duas etapas que requer uma área de quarentena do sistema.
Crie uma nova Quarentena de sistema na GUI chamada 'FilterDebug'. As quarentenas são configuradas em 'Monitorar->Quarentenas'. Se você tiver algum espaço de quarentena disponível, clique no botão 'Adicionar quarentenas' para configurar a quarentena FilterDebug. Se não houver espaço suficiente disponível, você terá que editar alguma outra quarentena e diminuir o espaço que ela usa para disponibilizar espaço livre.
Crie o filtro com as regras (os critérios de correspondência) que você espera usar e defina a ação como "Quarantine('FilterDebug')".
Para depurar suas regras de correspondência, ative o filtro na Política de e-mail apropriada (onde você pretende que ela seja executada na produção) e gere tráfego.
As mensagens que corresponderem às suas regras entrarão na quarentena FilterDebug, onde você poderá examiná-las e certificar-se de que as regras correspondam exatamente ao que deseja. Liberar essas mensagens da quarentena e elas serão entregues normalmente. Se quiser observar isso por algum tempo, defina o período de retenção da quarentena para algo aceitavelmente curto e examine a quarentena em intervalos regulares para ver quais tipos de mensagens correspondem aos seus critérios.
Para depurar suas ações de filtro, crie uma nova Política de e-mail que tenha apenas um destinatário de teste. Desabilite sua regra em todas as outras Políticas de e-mail e habilite-a nesta nova Política de e-mail. Edite sua regra para executar as ações desejadas. Você pode remover a regra de quarentena.
Gere tráfego e verifique a mensagem conforme ela é entregue (ou não, dependendo do filtro) ao destinatário do teste para verificar se é isso que você deseja. Agora você pode habilitar a regra concluída nas Políticas de e-mail para sua implantação de produção e desabilitá-la da política de destinatário de teste.
Um procedimento semelhante pode ser usado para depurar filtros de mensagem. Comece criando os critérios que deseja usar na produção:
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
quarantine ("FilterDebug");
}
Isso é feito na 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
Examine as mensagens em quarentena usando a GUI e libere mensagens. Continue observando o fluxo de mensagens dessa maneira até que esteja satisfeito. Em seguida, adicione o destinatário do teste às regras e altere as ações para o que deseja executar na produção:
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");
}
Na CLI, você precisa excluir e recriar o filtro:
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
Verifique se as ações fazem o que você deseja. (Dependendo do seu filtro, você também pode verificar algumas das ações em mail_logs.) Por último, reúna o filtro final removendo o destinatário do teste:
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
alt-rcpt-to ("sam@exchange.scu.com");
}
Um aspecto potencialmente confuso dos filtros e quarentenas é o tratamento de corpos de mensagens versus cabeçalhos de mensagens. No SEC, o corpo da mensagem e o cabeçalho são tratados separadamente. Se você examinar mensagens na quarentena depois de aplicar ações, não verá nenhuma manipulação de cabeçalho feita na mensagem (mas ela será concluída na entrega). Isso ocorre porque o processamento de cabeçalho é feito separadamente, em paralelo, à medida que uma mensagem progride pelo pipeline. A mensagem é reunida com seu cabeçalho (potencialmente modificado) antes da entrega, mas não é vista na quarentena. Você verá todas as alterações no corpo da mensagem, como remoção de anexos ou carimbo de rodapé, na quarentena.