Je n'ai pas encore mis à jour mon article sur mon Architecture Mail mais voila une des parties qui va l'être.
Voici ce qu'il y avait dans mon ~/.procmailrc avant
:
:0 ## creer automatiquement et diriger les mails vers le bon dossier ## si le from est foo@madchat.org, alors envoyer le mail vers ~/mail/mad.foo/ * ^From:.*@madchat\.org * ^From:.*[<(]\/[^@()+<>- ]+ $PRIVDIR/mad.$MATCH/
Les problèmes rencontrés sont :
- Manque de flexibilité : Des personnes de madchat.org ne m'écrivent pas toujours de leur adresse en @madchat.org, donc ces mails ne sont pas bien classés,
- Ce système ne gère que les adresses depuis un domaine bien connu : Je ne peux pas me servir de ce système pour foobar@free.fr, je suis alors obligé d'écrire d'autres petites règles pour ces cas la.
- Possibilité pour une personne mal intentionné de créer des
centaines de dossiers juste en modifiant son
From: - Ne gère pas (en l'etat mais c'est modifiable) les adresses en foo+bar@madchat.org
Désormais, j'utilise Gnus + bbdb.
Tous les expéditeurs/Destinataires de mails que je recois/envoie
sont enregistrés dans bbdb. Pour ces contacts, je
rajoute un champ gnus-private avec comme valeur le nom
du dossier où je veux que les mails aillent.
Comme cela, Gnus, à la réception du message, dirige les mails ou il faut. C'est vraiment plus pratique et plus propre que d'utiliser procmail je trouve : On peut ainsi controler les mailboxes créees.
Pour faire ca :
;; { ~/.gnus }
(setq nnmail-split-methods 'bbdb/gnus-split-method)
(setq bbdb/gnus-split-nomatch-function 'nnmail-split-fancy)
(setq nnmail-split-fancy `(|
(: spam-split)
("from" "upload@pause.perl.org" "cpan")
("from" "cpan.org" "cpan")
../..
))
Et voici un exemple de contact dans bbdb :
Bob Marley - IUT
net: XXXXXX@hotmail.com, XXXX@free.fr, XXXX@mouarf.org
AKA: boby
last-subj: ganja party
gnus-private: priv.iut-perso
mailer: Fucksmail 5.0 beta1 [-fr-]
Bob peut alors m'écrire depuis toutes ses adresses : Elles seront reconnues et correctement classées.