Bonjour
je me connecte a une Mailbox (IMAP) et j'extrais les emails.

Je cherche un moyen simple d'extraire le BODY du message mais je n'y arrive pas. Je ne veux pas avoir a parser tout le payload de l'email pour en extraire le 'BODY'
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
import time
import email, re, string
import getpass, imaplib
 
M = imaplib.IMAP4_SSL(IMAPSERVER)
M.login("notifier",PASSWD)
M.select()
typ, data = M.search(None, '(SUBJECT "xxx")')
 
for num in  data[0].split():
        typ, data = M.fetch(num, '(RFC822)')
        message = email.message_from_string(data[0][1])
        tos = message.get_all("To") or []
        ccs = message.get_all("Cc") or []
        body = message.get_all("BODY") or [] ## marche pas
        subject = message.get_all("Subject") or []
        msgdate = time.strftime('%Y_%m_%d.%T', email.Utils.parsedate(message['date']))
 
        print "SUBJECT          :" + str(subject)
        print "DATE             :" + str(msgdate)
 
        all_recipients = email.Utils.getaddresses(tos + ccs)
 
        recipients=[]
        for realname, addr in all_recipients:
                recipients.append(addr)
        print "RECIPIENTS      : %s" % recipients[0]
 
        print "body", repr(message.get_payload()) # ne me retourne pas ce que je veux : UNIQUEMENT le texte du corps du message 
#       print "BODY :\n" + str(body) #retourne [] donc rien!