Lecture d'email

Résolu/Fermé
luxe38 Messages postés 82 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 4 janvier 2015 - 25 janv. 2014 à 14:16
luxe38 Messages postés 82 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 4 janvier 2015 - 31 janv. 2014 à 06:08
Bonjour,

Je souhaite réaliser un programme qui lit les emails d'une boite Gmail :
J'ai déjà fait quelque code mais rien de bien concluent, comme celui-ci :

import imaplib
import email
 
def connectGmail(user, password, host='imap.gmail.com', port=993):
    server = imaplib.IMAP4_SSL(host, port)
    server.login(user, password)
    server.select('INBOX', readonly=True)
    return server
 
def readMsg(server):
    resp, msg = server.search(None, 'ALL')
    for num in msg[0].split():
        typ, data = server.fetch(num, '(BODY[TEXT])')
        message = email.message_from_string(str(data[0][1]))
        if message.is_multipart():
            for payload in message.get_payload():
                print(payload.get_payload())
        else:
            print(message.get_payload())
 
SERVER = connectGmail('monadressemail', 'monpass')
readMsg(SERVER)


Quand je l'exécute le programme va bien se connecter et tous mais ne m'affiche rien en alors qu'il y a bien des emails dans ma boite mail.
Pouvez-vous m'aider à avancer dans mon projet.

3 réponses

tuxboy Messages postés 994 Date d'inscription lundi 23 juillet 2012 Statut Membre Dernière intervention 28 mai 2019 189
30 janv. 2014 à 11:48
Salut,

Je viens de tester ton script sous linux, il fonctionne parfaitement.
Quel est la version de la lib email ?
0
Utilisateur anonyme
30 janv. 2014 à 12:40
Son problème a été résolu sur OC
0
luxe38 Messages postés 82 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 4 janvier 2015 1
30 janv. 2014 à 19:57
A oui merci mon problème est résolu. Juste une question comment sa ce fait qu'un même code fonctionne sur Linux et ne fonctionne pas sur Windows ?

Thibaut.
0
Utilisateur anonyme
30 janv. 2014 à 23:11
Parce-que se sont des OS bien différents, et que certaines fois, des particularités font que l'on ne peut pas faire autrement que de prendre les API spécifiques à l'OS.

Mais en python c'est assez rare pour le signaler, considéré comme un langage portable, voir très portable...
0
luxe38 Messages postés 82 Date d'inscription vendredi 10 août 2012 Statut Membre Dernière intervention 4 janvier 2015 1
31 janv. 2014 à 06:08
Merci
0