¿Cuál es la forma MÁS RÁPIDA de filtrar correos posteriores a la cola por dirección IP del remitente?

¿Cuál es la forma MÁS RÁPIDA de filtrar correos posteriores a la cola por dirección IP del remitente?

Mantengo un servidor de correo utilizado por cientos de clientes. De vez en cuando, un cliente se infecta con un virus y comienza a enviar toneladas de correo electrónico no deseado. Principalmente noto esto porque llena la cola de publicaciones con decenas de miles de correos pendientes, en lugar de un par de cientos.

Encontrar la dirección IP del remitente del spam y bloquearla es sencillo, pero todavía tengo decenas de miles de correos electrónicos no deseados en la cola de correo, a menudo con diferentes direcciones de remitente.

Cuando imprimo la cola de publicaciones, postqueue -pmuestra el ID del correo, la dirección de correo electrónico del remitente y todos los destinatarios. No muestra la IP del remitente.

Puedo encontrar la IP del remitente de un correo ejecutando:

postcat -q ABCDEF1234 | egrep "\\bclient_address="

Donde "ABCDEF1234" es el ID del correo.

Escribí una herramienta que enumera todos los ID de correo, luego los recorre postcat -qen cada uno y filtra aquellos que no coinciden con el ID de entrada.

Esto funciona, pero esextremadamente lento. Filtrar una cola de publicaciones con 441 correos electrónicos lleva entre 7 y 8 segundos. Si intento filtrar una cola de publicaciones llena de spam con decenas de miles de correos electrónicos, esta herramienta será inútil.

Mi esperanza es que haya alguna herramienta o indicador que no conozco y que me permita filtrar por dirección IP del remitente.


Estoy ejecutando Postfix 2.10

información relacionada