[TUTORIAL] Spamassassin et gestion des mails non sollicités

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

[TUTORIAL] Spamassassin et gestion des mails non sollicités

Messagepar Yann31 » 27 Avr 2004 15:09

Salut à tous.
Comme beaucoup d'entre vous j'ai installé Spamassassin cf How-to

Grace à fetchmail je recupère une quarantaine de boites mails et les redirige vers les comptes correspondants.

Mon souci était de vérifier que les mails considérés comme SPAM soient bien des SPAM... Or Spamassassin déplace les SPAM dans un dossier junkmail qui n'est accessible que via webmail ou par imap.

J'ai donc créé un script qui me deplacait toutes les heures le contenu de chaque dossier junkmail de chaque utilisateur dans un dossier junkmail d'un utilisateur appelé SPAM. Ceci fonctionnait tres bien avec la version 5.6 de SME. Avec la version 6, l'arborescence des Maildir a changé et je n'ai pas réussi à adapter mon script...

J'ai donc procédé autrement :
j'ai modifié le fichier " /etc/e-smith/templates-user/.procmailrc/95SpamSort "

...
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= "# All mail tagged as spam (eg. with a score higher than the set threshold)\n";
$OUT .= "# is moved to spam@ mailbox \n";
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= "#:0\n";
$OUT .= "#* ^X-Spam-Status: Yes\n";
$OUT .= "#! spam\@domain.com\n";

$OUT .= "\n";
$OUT .= "\n";
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= "# All mail tagged as spam (eg. with a score higher than the set threshold)\n";
$OUT .= "# is moved to the junkmail folder \n";
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= ":0\n";
$OUT .= "* ^X-Spam-Status: Yes\n";
$OUT .= '$MAILDIR' . "/;junkmail/\n";

}
}
}

pour qu'il devienne :
...
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= "# All mail tagged as spam (eg. with a score higher than the set threshold)\n";
$OUT .= "# is moved to spam@ mailbox \n";
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= ":0\n";
$OUT .= "* ^X-Spam-Status: Yes\n";
$OUT .= "! spam\@domain.com\n";

$OUT .= "\n";
$OUT .= "\n";
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= "# All mail tagged as spam (eg. with a score higher than the set threshold)\n";
$OUT .= "# is moved to the junkmail folder \n";
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= "#:0\n";
$OUT .= "#* ^X-Spam-Status: Yes\n";
# $OUT .= '$MAILDIR' . "/;junkmail/\n";

}
}
}

Les lignes modifiées sont celles qui sont en gras...


Ceci permet donc de "transférer" les SPAM sur le user spam (il faut qu'il soit créé, biensur) et d'aller sur le webmail les consulter ou bien de les recevoir en pop sur outlook ou autre...

Il faut remplacer domain.com par votre domaine local SME.

une fois le fichier modifié, il faut lancer lat-procmail :

[root@e-smith]# ./lat-procmail -c "*|enabled|no|some|normal"

Si vous n'avez pas lat-procmail, lancez auparavant :

[root@e-smith]# cd /root
[root@e-smith]# wget http://sme.swerts-knudsen.dk/downloads/ ... t-procmail
[root@e-smith]# chmod 755 lat-procmail

Voila, si ca peut aider quelqu'un....

A+
Yann
Dernière édition par Yann31 le 01 Juil 2004 09:58, édité 2 fois au total.
Avatar de l’utilisateur
Yann31
Capitaine de vaisseau
Capitaine de vaisseau
 
Messages: 262
Inscrit le: 20 Août 2002 00:00
Localisation: 31 - near toulouse

Messagepar Yann31 » 27 Avr 2004 15:12

Au fait pour ceux qui veulent que les SPAM arrivent quand-meme dans les comptes des différents destinataires (avec SPAM indiqué dans le sujet), il faut supprimer le fichier précedent... :

[root@e-smith]# cd /etc/e-smith/templates-user/.procmailrc
[root@e-smith]# rm -f 95SpamSort
puis lancer :
[root@e-smith]# ./lat-procmail -c "*|enabled|no|some|normal"

Voila....

Tout cela marche avec la version 6 de SME mais pas testé avec la version 5.6 ou anterieures...

A+
Yann
Avatar de l’utilisateur
Yann31
Capitaine de vaisseau
Capitaine de vaisseau
 
Messages: 262
Inscrit le: 20 Août 2002 00:00
Localisation: 31 - near toulouse

Messagepar mad_dog » 01 Juil 2004 08:59

J'relance un peu ce post ..

moi j'voudrai que les SPAM des USERS arrivent dans nu dossier appelé SPAM donc j'ai juste modifié le script comme celui-ci mais les SPAMs arrivent dans la boite admin meme s'il apparait qu'un dossier SPAM soit crée dans chaque boite !!!

if ($dbh2->get($USERNAME)) {
$OUT .= "\n";
$OUT .= "# -------------------------------------------------------------------------\n";
$OUT .= "# Mails with a score of 15 or higher are almost certainly spam (with 0.05% \n";
$OUT .= "# false positives according to rules/STATISTICS.txt). Let's put them in a \n";

$OUT .= "# different mbox or simply delete them. (This one is optional.)\n";
$OUT .= "# --------------------------------------------------------------------------\n";
$OUT .= ":0\n";
$OUT .= "* ^X-Spam-Level: \\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\\*\n";
$OUT .= "\/dev\/null\n";
$OUT .= "\n";
$OUT .= "# -------------------------------------------------------------------------\n";

$OUT .= "# All mail tagged as spam (eg. with a score higher than the set threshold)\n";
$OUT .= "# is moved to the junkmail folder \n";
$OUT .= "# -------------------------------------------------------------------------\n";

$OUT .= ":0\n";
$OUT .= "* ^X-Spam-Status: Yes\n";
$OUT .= '$MAILDIR' . "/;SPAM/\n";
}
Le savoir n'est bon que s'il est partagé.
http://www.societeg.com/
Image
Solution d'hébergement WEB Open-source
Avatar de l’utilisateur
mad_dog
Vice-Amiral
Vice-Amiral
 
Messages: 997
Inscrit le: 05 Fév 2003 01:00
Localisation: Nantes


Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron