pipes & Co ... le retour !

Page principale

Répondre à ce message
Auteur: Philippe B
Date:  
À: guilde
Sujet: pipes & Co ... le retour !
Bonjour tout le monde,

grâce à mon ami Scalp (merchi pour ce souci de pipes ... :o) ) mon script fonctionne maintenant en perl et comme il faut ... presque ..

Mon dernier souci ..

qmail recoit l'email et l'inject dans le script /var/qmail/bin/qmail-queue

qui lui contient ceci :

/usr/bin/spamassassin |/var/qmail/bin/filtre.pl |/var/qmail/bin/qmail-queue.orig

mon souci étant qu'en cas de spam, filtre.pl le detecte bien, mais un email vide part quand meme sur qmail-queue.orig ... Comment interrompre véritablement le chemin de ces pipes ? un exit ne suffit pas ... :( (dans filtre.pl)

Ci-joint filtre.pl :

#!/usr/bin/perl

# rempli la variable scalaire @stdin avec STDIN
@stdin = <STDIN>;

# checke si X-Spam-Flag est à YES
$test = 1;
$id = 0;
while (($test) && ($id < @stdin)) {
        if ($stdin[$id] =~ /^X-Spam-Flag: YES/) {
                $test = 0;
        } else {
                $id++;
        }
}


if (! $test) { # ici, on sait que c un spam
        exit();
        # print "spam\n";
} else { # la, c pas un spam...
        for ($id=0; $id<@stdin; $id++) {
                print $stdin[$id];
        }
}




En vous remerciant ..

Philippe