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