Estuve viendo la posibilidad de hacerlo con procmail com me comento Josep, pero no tengo la menor idea de como separar los entrantes de los salientes, pues si lo miro del punto de vista del encabezado de los correos que se generan dentro de mi LAN y que todos tienen en comun por ejemplo es
Received: from [192.168.4.32] (unknown [10.10.10.10]) by mail.midominio.com.pe (Postfix) with ESMTP id 980EA20D0E3; Wed, 4 Apr 2007 22:40:42 -0500 (PET)
y lo que tienen en comun es (unknown [10.10.10.10])
... continuando con la opción PROCMAIL ..... :-) En realidad tienes más cabeceras. Puedes filtrar el correo interno por el "From:" Una manera simple sería analizar solo que el dominio del "From:" se correspondiera con el tuyo. Evidentemente el "From:" es falsificable :0B: * ! ^From:.*@midominio.com * palabra1 /dev/null :0B: * ! ^From:.*@midominio.com * palabra2 /dev/null Estas reglas harían que si un mensaje NO viene de MIDOMINIO y tiene la palabra1 se borrara. Si no la tuvieran pasaría a la siguiente palabra2, y si existe se borraría. Si no hubiera más palabras ni más reglas PROCMAIL acabaría y el mensaje iría a la cola normal No es necesario hacer una regla para cada palabra. Se pueden poner todas en una misma regla: * ^palabra1|^palabra2 En lugar de borrar se puede enviar a una carpeta de spam, ... y/o enviar un correo de rechazo .... Por ejemplo borrar y correo de rechazo :0B * ! ^From:.*@midominio.com * palabra1 * !^FROM_DAEMON * !^X-Loop: postmaster@dominio.com { :0Whc: noexe.lock | (formail -t -r -I"Subject: Rejected mail: Recipient refusal" \ -I"From: postmaster@dominio.com" \ -A"X-Loop: postmaster@dominio.com" ; cat /etc/rejected.txt) | $SENDMAIL -t :0: /dev/null } El texto del rechazo estaría en "/etc/rejected.txt. Creo que lo tienes comentado en un mensaje mío anterior. Para evitar la falsificación del "From:" puedes usar reglas más sofisticadas que el nombre del dominio. Por ejemplo el campo "Received:" Si el mensaje se ha entregado directamente, es decir viene de tu red local, (en general) solo tendrá un campo "received:". El que va del ususario que envia al propio servidor de correo. Si el mensaje proviene de otro servidor tendrá lógicamente más de un campo "received: Del ususario a su servidor y, al menos, un segundo que irá de ese servidor remoto que hará la entrega al tuyo. En base a esto se puede establecer un contador para distinguir correo local de correo remoto. si contando los "received:" el número es mayor de uno se trata de un correo externo. :0 *$ 2^0 ^Received:.* * ! ^From:.*@midominio.com * palabra /dev/null Tienes un manual muy denso y completo con _casi_ toda la potencia de PROCMAIL en: http://pm-doc.sourceforge.net/pm-tips-body.html P.D. Las reglas de este mensaje pueden no funcionar "a la primera" y hay que afinarlas. P.D.2. Los experimentos hay que hacerlos con gaseosa y a ser posible sin mojar nada. -- Salutacions - Saludos, Josep M. Queralt