[eside-ghost] Borrar determinados correos en el Servidor de Correo

Alvaro Uría fermat en rigel.deusto.es
Mar Mar 21 16:53:05 CET 2006


Aupi,

On Tue, 21 Mar 2006 09:43:19 +0100
"julen torrontegi" <julentm en gmail.com> escribió:

> Vale ,, eso mas o menos entiendo pero como puedo delimitar desde un
> from a otro from...

Seguramente muchos de por aquí os reiréis, pero el módulo Mail::MboxParser
viene que ni pintado :-P

->>>>>>>>>>>>>>>>>>>>
#!/usr/bin/perl
#usage: script.pl < mboxfile > updated-mboxfile
#usage: script.pl < mboxfile > updated-mboxfile 2> logfile
use strict;
use warnings;
use Mail::MboxParser;

my $DATA = q{remitente en spammer.com};
my $mbox = \*STDIN;
my $mb = Mail::MboxParser->new ($mbox);

for my $msg ($mb->get_messages) {
        my ($from, $to) = ($msg->header->{from}, $msg->header->{to});
	$to !~ /$DATA/ and print $msg 
		or warn "e-ghost mboxparser[$$]: from=$from, to=$to\n";
}
<<<<<<<<<<<<<<<<<<<<-

Básicamente, por cada mensaje del fichero MBOX (que pasamos por STDIN),
almacenamos el"From" y el"To".

Hacemos una pequeña comprobación para ver si el "To" NO CONTIENE "el patrón
a buscar": SI NO, escribir por STDOUT el mensaje tal como está en el MBOX.
SI SI CONTIENE "el patrón", saca una línea informativa por STDERR.

Así, al redirijir la salida estándar a otro fichero MBOX, cuando haya algún
mensaje que "se elimine", se avisa por pantalla (que es la salida de error
por defecto). Lo de "$$" es el PID que tiene el script al ser lanzado.

Si tienes cualquier duda, ... :-)

Saludos,
  Alvaro Uría

PD: http://search.cpan.org/~vparseval/Mail-MboxParser-0.55/MboxParser.pm
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 189 bytes
Descripción: no disponible
Url        : https://listas.deusto.es/mailman/private/eside-ghost/attachments/20060321/e22b54a1/attachment-0001.bin


Más información sobre la lista de distribución eside-ghost