2010-11-04 8 views
4

Un courrier peut contenir différents blocs tels que:python imap: comment analyser le contenu du courrier multipart

--0016e68deb06b58acf04897c624e 
Content-Type: text/plain; charset=UTF-8 
Content-Transfer-Encoding: quoted-printable 
content_1 
... 

--0016e68deb06b58acf04897c624e 
Content-Type: text/html; charset=UTF-8 
Content-Transfer-Encoding: quoted-printable 
content_2 
... and so on 

Comment puis-je obtenir le contenu de chaque bloc avec python?
Et aussi comment obtenir les propriétés de chaque bloc? (Type de contenu, etc ..)

Répondre

8

Pour l'analyse des e-mails que je l'ai utilisé Message.walk() méthode comme ceci:

if msg.is_multipart(): 
    for part in msg.walk(): 
     ... 

Pour le contenu, vous pouvez essayer: part.get_payload(). Pour le type de contenu il y a: part.get_content_type()

Vous trouverez documetation ici: http://docs.python.org/library/email.message.html

Vous pouvez également essayer le module email avec ses itérateurs.

+0

merci! Je n'ai pas lu que get_payload() retourne une liste de messages! – Sergey