Traiter des mails par un script

Traiter des mails par un script - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 30-01-2010 à 21:46:46    

Bonjour ! J'utilise les mails pour faire envoyer des resultats a mes calculs... ca marche parfaitement, c'est parfois un peu long à traiter à la main mais ca va...
Sauf que la j'ai quelque chose comme 400 mails à traiter. Tous les memes donc c'est très scriptable.
 
Sauf que mes mails sont dans une boite mails et que je dois trouver une solution pour
1) Les récupérer un a un (sans les supprimer de la boite)
2) Les parser : si tel titre, hop je traite
 
Et que je ne sais pas comment script la tache 1)...  
OS : linux
Acces habituel en IMAP...
 
Vous auriez une idée ?


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 30-01-2010 à 21:46:46   

Reply

Marsh Posté le 30-01-2010 à 22:03:04    

Je dirais récupération des mails via getmail/fetchmail puis automatisation avec procmail


Message édité par o'gure le 30-01-2010 à 22:03:13

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 30-01-2010 à 22:38:36    

Ahhh je connaissais pas fetchmail, c'est ca qu'il me fallait ! Génial, je vais voir ce que je peut faire avec ca.


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 01-02-2010 à 16:14:24    

Bon j'ai pu y travailler, voici ce que je propose, au cas ou quelqu'un voudrait s'y essayer :
 
Installer fetchmail (et fetchmailconf pour pas s'embêter) + procmail
Lancer fetchmailconf et configurer votre (ou vos) adresses mails
ouvrir le fichier .fetchmailrc et vérifier que le nom d'utilisateur local est bien le votre sur la machine de traitement
 
ouvrir .procmailrc et y placer un truc du genre :
MAILDIR=/var/spool/mail
DEFAULT=$MAILDIR/$LOGIN/
LOGFILE=/var/log/procmail
VERBOSE=on
 
lancer fetchmail : tous les mails vont être écrit dans /var/spool/mail/LOGIN
 
Ensuite, moi je connais python doncj'utilise le parser email de python : http://docs.python.org/library/ema [...] ser.Parser
 
Et voila !


---------------
Un blog qu'il est bien
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed