Forum général.général procmail et éducation de spamassassin

Posté par  .
Étiquettes : aucune
0
20
août
2004
Bon(jour|soir),
J'ai actuellement un système de mail

getmail -> procmail (clamav , whitelist, spamassassin) -> Maildir/ (courier-imap)

Pour chaque mail, mon procmail regarde si y'a pas de virus (si oui dossier Virus)
Sinon il regarde si c'est pas de quelqu'un que je connais , ce que j'appelle whitelist. Donc procmail vérifie que ça vient pas d'une mailing-list, de newsletter ou des personnes connus.

Sinon procmail envoie le mail à spamc qui tague le mail
S'il est tagué comme spam, dossier SPAM

sinon il arrive dans mon dossier par défaut.

Ce système marche assez bien, bien que assez long à configurer (une règle par personne, mailing-liste et newsletter, ça fait beaucoup à la fin)

Un temps, je mettais tous spams non-detectés dans un dossier spécial .SPAM.Missed/ et récupérait les faux SPAM et mettait une copie dans .SPAM.HAM/ et essayait d'éduquer spamassassin (salearn) qui s'exécutait chaque jour (merci cron). Seulement je ne le nourrissais jamais avec du bon mail, vu qu'ils sont automatiquement classés avant, donc spamassassin finissait par devenir inefficace et à côté de cela j'avais des erreurs de droits avec la base de données faits par spamassassin .

Ma question est donc la suivante:

Quelle est la meilleur solution pour donner du bon mail à spamassassin sans avoir à ajouter des millions de règles à procmail.
Je penserais à un truc du genre:
si le mail n'est pas envoyé dans SPAM, le copier dans un dossier NOT_SPAM ou directement le donner a spamassassin pour apprentissage.

Une autre possibilité serait de copier tous les mails entrant dans NOT_SPAM et de les y supprimer s'ils ont été reconnu comme SPAM.
Mais je ne sais pas comment faire ça.

Dans si quelqu'un a une idée de comment je peux faire ça, je le remercie de m'en faire profiter.
  • # autolearn

    Posté par  (site web personnel) . Évalué à 2.

    http://wiki.apache.org/spamassassin/AutolearningNotWorking(...)

    Spamassassin apprend tout seul sur les messages qu'il considère comme étant vraiment du SPAM ou vraiment pas.

    J'ai comme toi deux reps (SPAM.Missed et SPAM.False) et je lance salearn dessus. Je n'ai pas de problème d'inefficacité, au contraire.
    • [^] # Re: autolearn

      Posté par  . Évalué à 1.

      J'ai moi aussi qq chose du meme genre .. meme si c'est avec bogofilter.
      Apres passage dans procmail, les "consideres comme spam" vont dans spam.detected.
      De la je fais passer les vrais spam dans spam.kill et les faux dans spam.legit.
      J'ai ensuite crone un petit script qui prend les mails de spam.kill et dit a bogofilter"oui, oui, c'est du spam", et les jettes, et qui prend les mails de spam.legit, les donne a bogofilter en lui disant "c'est pas du spam", et ensuite les deplace dans ma inbox ...
      J'ai pique l'idee (et une premiere version du script) a _why ( http://whytheluckystiff.net/(...) ) (j'ai la flemme de chercher la page avec le script ..)
  • # ham?

    Posté par  . Évalué à 1.

    Chez moi (debian sid) j'ai dans ma crontab
    sa-learn --spam --dir dossier_des_spam pour apprendre les spams
    sa-learn --ham --dir dossier_sans_spam pour apprendre ce qui n'est pas du spam
    • [^] # Re: ham?

      Posté par  . Évalué à 1.

      Bin, moi, je faisais appel à mon script educate_sa:

      #!/bin/sh
      # educate SpamAssassin
      maildir=/home/djax/Maildir
      salearn=/usr/local/bin/sa-learn
      rm=/bin/rm

      empty_folder(){
      if [[ $(ls -a $1 | wc -w) -gt 2 ]] ;then
      $rm $1/*
      echo "$1 has been cleaned."
      else
      echo "$1 is an empty folder"
      fi
      }


      $salearn --spam --dir $maildir/.SPAM.MissedSpam/new/;
      empty_folder $maildir/.SPAM.MissedSpam/new
      $salearn --spam --dir $maildir/.SPAM.MissedSpam/cur/;
      empty_folder $maildir/.SPAM.MissedSpam/cur
      $salearn --ham --dir $maildir/.SPAM.NotSpam/cur/ ;
      empty_folder $maildir/.SPAM.NotSpam/cur
      $salearn --ham --dir $maildir/.SPAM.NotSpam/new/ ;
      empty_folder $maildir/.SPAM.NotSpam/new


      Il me semble que c'était ~djax/.spamassassin/bayes_toks qui changeait de owner à un moment (je crois que le fichier se recontruit de temps en temps) et il y avait un conflit entre l'utilisateur "mail" et "djax".

      Mon problème est que le ham fournit est beaucoup trop faible par rapport au spam, vu que le HAM a été filtré avant par procmail .
      D'après la doc il faut min 1000 spam et 1000 ham et qu'un seul type ne sert à rien.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.