[postfix-es] (sin asunto)

Ecnaton ecnaton en gmail.com
Mar Ago 24 08:53:22 CEST 2010


El día 19 de agosto de 2010 20:24, Pedro Hernán Quevedo Reyes
<phqr58 en yahoo.com> escribió:
> Buen día a todos
> Alguien sabe como reenviar a su destinatario los correos spam que están en
> cuarentena
> en mi caso están en /var/spool/amavis/virusmails
> El problema es que hay cientos de correos válidos que los usuarios no han
> recibido y no se como enviarlos nuevamente al usuario.
> Mi servidor es un SUSE LINUX ENTERPRISE 10
> Postfix
> Cyrus IMAP
> amavis
> clamav
>
> Gracias
> PEDRO HERNAN QUEVEDO REYES
> Ingeniería en Sistemas de Información

Perdona el retraso, te cuento en mi caso particular.

Mi postfix+amavis pasa el correo a otro servidor. Cuando algún usuario
importante me pide que le deje pasar un mensaje que ha sido
considerado spam, tengo un pequeño script en perl para hacerlo. Se
pasa como argumento la ruta al mensaje de spam guardado por amavis
(comprimido con gzip, ruta completa) y si quiero que lo envíe a otro
destinatario se lo paso como segundo argumento. Es muy chapucerillo,
pero me vale para salir del paso. En $mailhost tengo la IP del
servidor de correo interno al que lo envío:

#!/usr/bin/perl

$file=$ARGV[0];
$destino=$ARGV[1];

$mailhost='A.B.C.D';
open DATOS, "zcat $file|" or die "no se pudo abrir el mensaje de spam";

$de="";
$a="";
$data="";



while (<DATOS>){
	$a=$1 if (/X-Envelope-To: \<(.*)\>/ && $a eq "");
	$de=$1 if (/X-Envelope-From: \<(.*)\>/ && $de eq "");
	
	$data .= $_;	
}
close DATOS;

$a=$destino if ($destino);

print "De $de para $a\n";

    use Net::SMTP;

    $smtp = Net::SMTP->new($mailhost);

    $smtp->mail($de);
    $smtp->to($a);

    $smtp->data();
    $smtp->datasend($data);
    $smtp->dataend();

    $smtp->quit;


More information about the postfix-es mailing list