[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Eliminar mensajes repetidos por always_bcc



El Jueves, 9 de Agosto de 2007, kazabe escribió:
> Holas!
>
> He implementado en mi servidor de correo la politica de generar una
> copia de todos los mensajes entrantes y salientes, para depositarla en
> la cuenta respaldo@midominio.com.
>
> Pero estoy notando que todos los mensajes estan quedando repetidos
> hasta cuatro veces!  supongo que es debido a que tengo amavis como
> filtro de contenidos, entonces se generan copias cuando el mensaje
> entra, cuando se entrega a amavis, cuando amavis lo devuelve y cuando
> finalmente se entrega en el buzon.
>
> existe alguna aplicacion que me busque los mensajes de correo
> repetidos en ese buzon y los elimine? no soy muy diestro en bash
> (realmente estoy muy crudo en programacion), pero me imagino que se
> podria hacer algo que compare asunto y hora, y borre los que esten
> repetidos en esos dos parametros, pero no se como lograr esa busqueda
> en bash.
>
> conocen alguna aplicacion que realice este proceso, o algun manual con
> el que pueda encontrar la forma de estructurar ese script?
> basicamente mi duda mayor radica en como indicarle que guarde el
> primer mensaje y borre todos los que coincidan con asunto y hora de
> este.

¿Antes de guardar cada correo te es posible de alguna forma ejecutar un script 
en función de cuyo resultado se guarde o no?

En caso afirmativo y suponiendo que el respaldo sea Maildir (un fichero por 
correo) se me ocurre un script en bash que use:

- "find" para encontrar ficheros de fecha reciente en todos los contenidos en 
el respaldo. Se supone que los 4 ficheros/correos tienen fecha casi idéntica 
(me refiero a la fecha con la que se crearía su correspondiente fichero en el 
respaldo). Ten en cuenta que si no haces eso cuando tengas muchos correos va 
a ser un infierno si el script no filtra sólo los muy recientes en fecha de 
creación.
Ten en cuenta que "find" tiene la opción de ejecutar "algo/lo que quieras" con 
los ficheros encontrados, por eso:
--> man find

- "grep" para comparar en los ficheros recientes encontrados por "find" la 
cabecera "Message-ID" del correo que estés examinando en este momento. Si 
existe alguno entonces desechas el actual puesto que el "Message-ID" es único 
en cada correo y se repetirá en tus copias.

hummm, ya está.


Saludos.


-- 
Iñaki Baz Castillo



Reply to: