Pregunta
¿Cómo puedo probar un mensaje o un filtro de contenido para asegurarme de que funciona según lo diseñado?
Los filtros se pueden probar para asegurarse de que funcionan correctamente depurando el filtro. La depuración de un filtro es un proceso de dos pasos que requiere un área de cuarentena del sistema.
Cree una nueva cuarentena del sistema en la GUI llamada 'FilterDebug'. Las cuarentenas se configuran en 'Supervisar->Cuarentenas'. Si tiene espacio en cuarentena disponible, haga clic en el botón 'Agregar cuarentenas' para configurar la cuarentena FilterDebug. Si no hay suficiente espacio disponible, tendrá que editar alguna otra cuarentena y reducir el espacio que utiliza para que haya espacio libre disponible.
Cree el filtro con las reglas (los criterios coincidentes) que espera utilizar y establezca la acción en "Quarantine('FilterDebug')".
Para depurar las reglas coincidentes, habilite el filtro en la directiva de correo adecuada (donde pretende que se ejecute en producción) y genere tráfico.
Los mensajes que coincidan con sus reglas entrarán en la cuarentena de FilterDebug, donde puede examinarlos y asegurarse de que sus reglas coinciden exactamente con lo que desea. Libere esos mensajes de la cuarentena, y serán entregados normalmente. Si desea observar esto por un tiempo, establezca el período de retención de cuarentena en algo aceptablemente corto y examine la cuarentena a intervalos regulares para ver qué tipos de mensajes coinciden con sus criterios.
Para depurar las acciones de filtrado, cree una nueva directiva de correo que sólo tenga un destinatario de prueba. Desactive la regla en todas las demás directivas de correo y habilítela en esta nueva directiva de correo. Edite la regla para realizar las acciones que desee. Puede quitar la regla de cuarentena.
Genere tráfico y verifique el mensaje tal como se entrega (o no, dependiendo de su filtro) al destinatario de la prueba para verificar que esto es lo que desea. Ahora puede habilitar la regla completada en las Políticas de correo para su implementación de producción y deshabilitarla de la política de destinatarios de prueba.
Se puede utilizar un procedimiento similar para depurar filtros de mensajes. Comience por crear los criterios que desea utilizar en la producción:
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
quarantine ("FilterDebug");
}
Esto se hace en la 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 los mensajes en cuarentena mediante la GUI y libere mensajes. Continúe viendo el flujo de mensajes de esta manera hasta que esté satisfecho. A continuación, agregue el destinatario de prueba a las reglas y cambie las acciones a las que desee ejecutar en producción:
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");
}
En la CLI, debe eliminar y volver a crear el 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
Compruebe que las acciones hacen lo que desea. (Dependiendo de su filtro, también puede verificar algunas de las acciones en mail_logs.) Por último, agregue el filtro final quitando el destinatario de la prueba:
RedirectEarningsReports:
if (recv-listener == "InboundMail")
and (subject == "(?i)quarterly earnings") {
alt-rcpt-to ("sam@exchange.scu.com");
}
Un aspecto potencialmente confuso de los filtros y las cuarentenas es el manejo de los cuerpos de los mensajes frente a los encabezados de los mensajes. En el ESA, el cuerpo del mensaje y el encabezado se tratan por separado. Si examina los mensajes en la cuarentena después de aplicar acciones, no verá ninguna manipulación de encabezado realizada al mensaje (pero se completará tras la entrega). Esto se debe a que el procesamiento del encabezado se realiza por separado, en paralelo, a medida que un mensaje avanza por la canalización. El mensaje se vuelve a unir con su encabezado (potencialmente modificado) antes de la entrega, pero no se ve en la cuarentena. Verá cualquier cambio en el cuerpo del mensaje, como la eliminación de archivos adjuntos o la estampación de pie de página, en la cuarentena.