C’est une collection de petits scripts finalement assez pratiques sur un serveur de courrier.
- Les utilisateurs font un fichier .forward comme suit afin que les spams ne soient pas dans leur mails mais dans un répertoire (/var/tmp/Spams):
# Exim filter
if
$h_X-Spam-Status contains "Yes,"
then
logfile /var/log/spam.log
logwrite "SPAM: $tod_log $message_id processed venant de $sender_address"
save /var/tmp/Spams/
finish
endif
- Le script suivant reconstitue le spam original sans les commentaires de spamassassin à partir du message dans /var/tmp/Spams:
[code]#!/bin/sh
BORNE=grep boundary $1 | head -n 1 | sed -e s'/^.*----=\(.*\)"/\1/'
DEBUT=grep -n $BORNE $1 | tail -n 2 | head -n 1 | sed -e 's/:.*$//'
grep -n $BORNE $1
FIN=grep -n $BORNE $1 | tail -n 1 | sed -e 's/:.*$//'
LONGUEUR=$[$FIN-$DEBUT-6]
echo $DEBUT $FIN $LONGUEUR
tail -n +$[$DEBUT+6] $1 | head -n $LONGUEUR
[/code]
appelons le getspam.
- Un programme fait par Pierre Beyssac avec un léger bug que j’ai corrigé pour qu’il fonctionne permet d’envoyer un ou plusieurs spam à signalspam. Il se récupère ici http://boisson.homeip.net/signalspam.py (en python 2.4 ou +)
(Le script suivant de Stephane Bortzmeyer ne fonctionne pas sans que je ne sache pourquoi
[code]
#!/bin/sh
result=openssl enc -base64 | curl --verbose --proxy "" --request POST \ --trace /tmp/curl \ --user login:pass \ --write-out "%{http_code}" --form message='&-' \ https://www.signal-spam.fr/api/signaler
if [ $result != “202” ]; then
echo "Error $result while reporting the spam"
exit 1
fi
[/code] curl me sort une erreur 400 sans arrêt…)
- Enfin un script virespam à éxécuter sous root récupère tous les spams du répertoire /var/tmp/Spams et les envoies à Signalspam.
#!/bin/sh
cd /var/tmp/Spams
ls | xargs -n 1 getspam > /tmp/SPAM
ls /var/tmp/Spams/* | xargs rm
signalspam.py < /tmp/SPAM
(mettre les scripts sous /usr/local/bin).
Signal Spam encaisse très bien de recevoir 300-400 spams d’un coup.
Ça peut surement être adapté sur d’autre configurations de serveur de courrier.