[Postfix] Intéraction Postfix et programme externe
2 réponses
Cedric Foll
Bonjour,
j'utilise conjointement postfix et bogofilter (avec des résultats
excellents en terme de perfs et de précision).
Pour ce faire chaque mail reçu est envoyé vers un script shell
effectuant les commandes suivantes (le script fait un peu plus de
choses, je supprime ce qui n'est pas important pour des pb de
lisibilité)
----
#!/bin/sh
cat > msg.$$
# envoie du message taggé
bogofilter -p < msg.$$ | sendmail "$@"
# si c'est du spam on log
bogofilter < in.$$ && {
echo "Votre mail a ete considere comme etant du spam..."
rm -f msg.$$
exit $EX_UNAVAILABLE
}
rm -f msg.$$
exit $?
----
Donc le serveur n'efface rien dutout, il se contente de tagger les
messages en SPAM|HAM.
Ensuite lorsque qu'un spam est détecté cela apparait dans les logs de
postfix via une ligne du type:
-----
Sep 1 15:50:29 carrera postfix/pipe[31726]: C82C23F65:
to=<cedric.foll@ac-rouen.fr>, relay=filter, delay=0, status=bounced
(service unavailable. Command output: Votre mail a ete considere comme
etant du spam...)
-----
Le problème de ce script est qu'il renvoie un message à l'expéditeur
avec le message "Votre mail a ete considere comme etant du spam...".
Hors l'adresse d'expédition d'un spam étant fausse en générale ce mail
est refusé et je me retrouve avec pleins de messages dans la liste
d'attente.
Donc comment faire pour que les spams soient listés dans les logs mais
que rien ne soit renvoyé à l'expéditeur ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Xavier Roche
Cedric Foll wrote:
Le problème de ce script est qu'il renvoie un message à l'expéditeur avec le message "Votre mail a ete considere comme etant du spam...". Hors l'adresse d'expédition d'un spam étant fausse en générale ce mail est refusé et je me retrouve avec pleins de messages dans la liste d'attente. Donc comment faire pour que les spams soient listés dans les logs mais que rien ne soit renvoyé à l'expéditeur ?
La seule bonne manière: executer bogofilter à la volée dans postfix/sendmail, de manière à ce qu'il soit executé après le "." final envoyé par le client sur le serveur de messagerie. En cas de spam, le serveur renverra quelque chose comme 550 Our spam filter has rejected your mail et ce sera au serveur spammeur/relais-ouvert en face de se démerder avec les milliers de bounce dans sa queue.
Par contre, de la manière de faire ça sous postfix?!
Cedric Foll wrote:
Le problème de ce script est qu'il renvoie un message à l'expéditeur
avec le message "Votre mail a ete considere comme etant du spam...".
Hors l'adresse d'expédition d'un spam étant fausse en générale ce mail
est refusé et je me retrouve avec pleins de messages dans la liste
d'attente.
Donc comment faire pour que les spams soient listés dans les logs mais
que rien ne soit renvoyé à l'expéditeur ?
La seule bonne manière: executer bogofilter à la volée dans
postfix/sendmail, de manière à ce qu'il soit executé après le "." final
envoyé par le client sur le serveur de messagerie. En cas de spam, le
serveur renverra quelque chose comme
550 Our spam filter has rejected your mail
et ce sera au serveur spammeur/relais-ouvert en face de se démerder avec
les milliers de bounce dans sa queue.
Par contre, de la manière de faire ça sous postfix?!
Le problème de ce script est qu'il renvoie un message à l'expéditeur avec le message "Votre mail a ete considere comme etant du spam...". Hors l'adresse d'expédition d'un spam étant fausse en générale ce mail est refusé et je me retrouve avec pleins de messages dans la liste d'attente. Donc comment faire pour que les spams soient listés dans les logs mais que rien ne soit renvoyé à l'expéditeur ?
La seule bonne manière: executer bogofilter à la volée dans postfix/sendmail, de manière à ce qu'il soit executé après le "." final envoyé par le client sur le serveur de messagerie. En cas de spam, le serveur renverra quelque chose comme 550 Our spam filter has rejected your mail et ce sera au serveur spammeur/relais-ouvert en face de se démerder avec les milliers de bounce dans sa queue.
Par contre, de la manière de faire ça sous postfix?!
Cedric Foll
C'est la moins mauvaise des solutions. Possibilité: placer un message dans le code d'erreur 550 Out spam filter rejected your message - In case of error please send a mail to
Avec les mailing list ce genre de chose ne fonctionne pas. Et les messages qui sont classés à tord comme SPAM sont en général issus de ML.
C'est la moins mauvaise des solutions. Possibilité: placer un message
dans le code d'erreur
550 Out spam filter rejected your message - In case of error please send
a mail to postmaster@xxxx
Avec les mailing list ce genre de chose ne fonctionne pas.
Et les messages qui sont classés à tord comme SPAM sont en général issus
de ML.
C'est la moins mauvaise des solutions. Possibilité: placer un message dans le code d'erreur 550 Out spam filter rejected your message - In case of error please send a mail to
Avec les mailing list ce genre de chose ne fonctionne pas. Et les messages qui sont classés à tord comme SPAM sont en général issus de ML.