Re: est ce possible ?

Top Page

Reply to this message
Author: Edgar Bonet
Date:  
To: guilde
Subject: Re: est ce possible ?
Le mercredi 27 février, xd a écrit :
> Bonjour, j'utilise fetchmail pour recuperer les mails chez mon providers
> et j'aimerais parcourir les mails reçu sur mon compte, afin d'extraire et
> de sauvegarder automatiquement les piéces jointes dans un rep donné. ex :
> /home/moi/piecejointe/
>
> Apparament, les mails reçu alimente un fichier unique par utilisateur
> /var/mail/nomutilisateur dans lequel la piece jointe est englobé dans le
> message.


Oui, les messages sont à peu de chose près stockés dans ce fichier sous
la forme sous laquelle ils ont été transportés sur Internet. Les pièces
jointes y sont inclues codées suivant les standards MIME.

Le jeudi 28 février, Emmanuel Rouat a écrit :
> a priori je suggererais d'utiliser procmail pour redistribuer les
> mails recus dans /var/mail/nomutilisateur et faire un traitement.


En général, si on utilise procmail, les mails ne sont plus reçus sur
/var/mail/nomutilisateur. Au lieu de ça ils sont donnés directement à
procmail par fetchmail (paramètre mda de .fetchmailrc) ou par le MTA
(avec un .forward).

Procmail n'est qu'une partie de la solution, pas forcément nécessaire.
Ce qu'il faudra surtout c'est écrire un programme qui fasse le
traitement en question. Il s'agirait par exemple de passer chaque mail à
la commande « metamail -w » pour qu'il décode et sauve chaque morceau du
mail. Il faudrait ensuite faire ensuite le tri des morceaux. Ce tri n'es
pas évident car metamail va sauver séparément tous les morceaux sans
dicriminer ceux qui sont disposés « inline » (le texte du mail) de ceux
qui sont « attachment », et en plus il va ignorer le nom de fichier
suggéré dans le paramètre « filename ».

Reste la question de quoi faire du mail d'origine. Soit on le laisse en
l'état et on a alors deux copies des pièces jointes (une englobée dans
le mail et une sauvée par metamail). Soit on l'efface et on le remplace
par la partie « inline » du message, ce qui est une mauvaise idée car on
perd les en-têtes. Soit on garde le message après y avoir effacé les
pièces jointes, auquel cas il faudrait les remplacer par des parties
message/external-body et ça commence à devenir vraiment chaud...

-- 
Edgar Bonet                         Tel:    +33 476 881 096
Laboratoire Louis Néel -- CNRS      Mobile: +33 677 197 939
25 av. des Martyrs, BP 166          Fax:    +33 476 881 191
38042 Grenoble cedex 9, France      e-mail: bonet@???