hello,

voici ma configuration pour utiliser le ddtc avec procmail. Je sais que
d'autres ont d�j� donn� des configs qui marchent, mais la mienne est mieux ;)

Pour ceuce qui utilisent des programmes de mail � conviviaux � ne permettant
pas de passer un message sur l'entr�e standard d'une commande (mais oui,
mais oui, je parle d'evolution), je rappelle qu'utiliser procmail est la
solution � leur probleme. Ce tri est effectu� avant que le programme ne mail
ne recoive votre courrier. Voir la fin du mail.

Pour ceuce qui sont sur debian-user-french et qui savent meme pas ce que
c'est que le ddts, c'est ce qu'on utilise pour traduire la description des
paquets Debian. C'est assez simple � utiliser, et vous pourriez avoir envie
de nous rejoindre sur debian-l10n-french pour aider, et rendre � la
communaut� tous les bienfaits qu'elle vous offre ;)
Bon. La raison principale de ce mail sur la liste duf, c'est pas ce
paragraphe de propagande (encore que...), c'est la fin de ce mail : 
"Utiliser procmail en 3 le�ons".

----------------------------
# copie de s�curit� dans ddts
:0 c
* From: [EMAIL PROTECTED]
ddts

# on passe le mail au script
:0 w
* From: [EMAIL PROTECTED]
| /usr/bin/ddts-script parse

# et si on arrive la, c'est que le script a �chou� (sinon, on s'arrete la
# regle d'avant). Dans ce cas, on range le mail dans ddts-error
:0
* From: [EMAIL PROTECTED]
ddts-errors

# Capte les messages que le script m'envoi � moi meme
:0
* Subject: nothing fr.*
ddts

#Ne garder qu'une fois les messages
:0 Wh: msgid.lock
| formail -D 524288 msgid.cache

-----------------------------
Les grosses diff�rences avec les autres configs que j'ai vu ici ou la, c'est:

 - comme ca, on place les messages ayant provoqu� une erreur dans un folder
   � part.
 - Seuls les mails qui *viennent* du ddts sont trait�s par le script. C'est
   que si on oublie le 'From:' sur les trois premieres regles, elle est
   appliqu� aux mails qui parlent de cette adresse dans le titre, et, plus 
   grave, aux r�ponses � des mails du robot.
   Ainsi, si un traducteur veut r�pondre � votre rapport de bogue, il y a
   fort � parier qu'il va simplement cliquer sur 'r�pondre' au message recu
   du ddts. Et quand il arrivera dans votre boite, votre regle procmail va
   s'y appliquer alors qu'elle devrait pas.
 - les erreurs sont rang�es dans un folder s�par�. De cette facon, plus
   besoin de regarder ce qu'il y a dans le folder principal, on est sur que
   ca s'est bien pass� pour ces messages la. 
   Ce que j'avais lu jusque la permettait d'emmettre un message d'erreur
   dans logmail. Mais je recois entre 150 et 300 mails tous les jours. Alors
   vous pensez bien que je ne prend pas la peine de v�rifier mon logmail �
   tous les coups...

 - J'ai indiqu� ici la regle formail qui n'a pas grand rapport avec la
   choucroute, puisqu'elle permet de ne garder qu'un seul exemplaire des
   mails que je recois (pour contrer le fait qu'on me r�ponde personnellement 
   en plus de r�pondre aux listes o� je suis abonn�).

   Evidement, il n'est pas necessaire de mettre cette regle pour que le ddtc
   marche, mais je voulais juste rappeller que c'est une bonne id�e de
   mettre les regles du ddtc *avant* celle de formail.
   Une intuition me dit que ddtc et ddtp peuvent avoir des ptits soucis, et
   qu'il est possible qu'ils oublient parfois de changer l'identificateur du
   mail, ce qui ferait que le second mail serait mang� par formail.
   
   Je ne suis pas sur de mon coup sur cette histoire, mais ca ne mange pas
   de pain de mettre les regles ddtc avant celle formail, et c'est une bonne
   id�e si mon intuition est av�r�e (soit en ce moment, soit � l'avenir).

Aller. Je suis bien lun� (ie, j'ai pas envie de bosser), alors je me fend
d'un :

                   #################################
                   # Utiliser procmail en 3 lecons #
                   #################################

Avertissement: je ne suis pas un dieu du procmail, et y'a certaines
fonctionnalit�s que je ne sais pas utiliser. Mais j'en utilise d�j�
beaucoup, et ceux qui en veulent plus peuvent aller consulter la doc de
l'outil ;)

##########################
# Lecon 1 : Intro, usage #
##########################
procmail est un outil mamouthesque. Il est capable de faire des choses
extraordinaires, mais faut faire gaffe � pas merder, car sinon, on peut
perdre des mails. procmail n'a cependant rien de magique. Pour que ca
marche, il faut faire en sorte qu'il soit invoqu� sur votre machine au bon
moment. pour ce faire, on peut soit mettre un .forward en place, soit
demander � votre serveur de mail de se servir de procmail. Comme exim
utilise procmail par d�faut (au moins sous Debian), vous n'avez rien besoin
de faire par d�faut.

###################################
# Lecon 2 : configuration de base #
###########"#######################
la configuration doit se trouver dans le fichier ~/.procmailrc Y'a un entete
qui d�fini des trucs, puis une liste de regles qui sont appliqu�es les unes
apres les autres jusqu'a ce qu'on en trouve une qui indique ce qu'il faut
faire du mail. L'entete que j'ai ici est :
-------------------
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Mail      #you'd better make sure it exists
DEFAULT=$MAILDIR/mbox   #completely optional
LOGFILE=$MAILDIR/logmail   #recommended
SHELL=/bin/sh    # for other shells, this might need adjustment
LOCKEXT=lockext
--------------------
Il est dit que tous mes mails sont rang�s quelque part sous $HOME/Mail, que
si on ne trouve pas de regle pour un mail donn�, faut le coller dans le
folder mbox, et qu'il faut �crire tout ce qu'on fait dans logmail
(indispensable pour v�rifier qu'on s'est pas gourr� dans la config)

la suite du fichier est donc compos�e de regles s�par�es par une ligne vide.
Une regle est un entete, une ou plusieurs conditions, et une action. Des que
procmail trouve une regle dont toutes les conditions sont remplies, il
applique l'action, et s'arrete la. Bon. C'est presque toujours vrai. On peut
demander sur l'entete � ce que procmail ne s'arrete pas la, et autres
variations.
Toutes les conditions doivent etre remplies. C'est un ET entre les
conditions, pas un OU.

La ligne d'entete classique est la suivante:
:0 [les drapeaux que vous voulez]
En g�n�ral, y'a pas besoin de drapeau.

La ligne d'action classique est la suivante:
<nom du folder ou vous voulez ranger le message>
Une variante est:
| <ligne de commande � laquelle vous voulez passer le message>


La condition classique est la suivante:
* <expression r�guliere avec laquel les entetes du message doivent correspondre>

Si vous voulez que l'expression r�guliere soit test�e uniquement sur le
corps du message, utilisez le drapeau 'B' sur l'entete. 'HB' demande � ce
que le message entier (entete + corps) soit examin�.

Exemple:
-------------
:0 HB
* ^Content-Type.*\.(exe|vbs|doc|dot|xls)
spam
-------------
Signification : j'aime pas qu'on m'envoi un fichier [ex�cutable] windows
(mais j'efface pas tout de suite, on sait jamais, j'ai des amis qui
utilisent windows, aussi ;)

Autre exemple :
---------------
:0
* ^(From|Subject|Content-Type):.*=["?]?(euc-kr|big5|ks_c)
/dev/null
---------------
Signification : je ne parle pas japonais ni chinois, et donc si je recois un
message encod� pour ces langues, c'est du spam et je l'efface directement
(tres pratique pour les listes Debian, malheureusement).

Dernier exemple pour l'instant :
--------------
:0:
* ^Content-Type: text/html.*
spam
--------------
Signification : J'aime pas le HTML. Mais cette regle ne capture que les
mails exclusivement en HTML. Elle laisse passer ceux qui ont HTML + text en
alternatives MIME.

#############################
# Lecon 3 : aller plus loin #
#############################
On peut modifier le comportement avec des drapeaux sur l'entete de la regle:
  - 'c' indique qu'il faut faire une copie du mail si la condition
    s'applique. Donc, on fait une copie, et on en fait ce que l'action
    indique. et avec l'original, on continu de parcourir le fichier pour
    trouver une regle qui s'applique [aussi].

  - 'w' indique que l'action est un programme, et que si le programme
    retourne un code d'erreur, il ne faut pas considere le mail comme
    trait�, mais continuer avec les regles suivantes.
Voir la doc pour d'autres drapeaux.

Les expressions r�gulieres ne sont pas la seule possibilit�. je suis par
exemple mod�rateur d'une liste dont l'une des regles de base est que la
taille des messages doit etre inf�rieure � 10k :
--------------
:0:
* ^From.*<[EMAIL PROTECTED]>
* > 10240
ARP/TRASH
--------------

De plus, on peut utiliser une partie de l'expression r�guliere dans l'action:
--------------
:0 H
* ^X-Mailing-List:.*[<].*lists\.debian\.org[>]
* ^X-Mailing-List:.*[<] *debian-\/[^ [EMAIL PROTECTED]
debian/$MATCH
--------------
Signification : on range le courrier arrivant sur les listes debian dans un
folder "debian/"<le nom de la liste priv� du "debian-" du debut>. ie, $MATCH
contient ce qui est correspond � apres le \/ 


Voila, j'en sais pas plus. Mais c'est largement suffisant pour mes besoins,
et pour les besoins de la plupart de ceux qui ne sont pas encore des gourous
procmail, je pense. 

Encore une fois, il faut faire attention en utilisant procmail. chaque fois
qu'on change la config, il faut etudier attentivement Mail/logmail, pour
voir si tout se passe comme pr�vu. Dans le cas contraire, vous etes peut
etre en train de perdre des mails ;)

Bye, Mt.

-- 
Si les grands esprits se rencontrent, les petits esprits, eux, se cognent.

Répondre à