Question

Je dois télécharger les e-mails de la boîte de réception gmail uniquement à l'aide de poplib. Malheureusement, je ne vois aucune option permettant de sélectionner la boîte de réception uniquement. Poplib me donne également les e-mails des éléments envoyés.

Comment sélectionner des courriers électroniques uniquement dans la boîte de réception?

Je ne souhaite utiliser aucune bibliothèque spécifique à Gmail.

Était-ce utile?

La solution

POP3 n'a pas de concept de "dossiers". Si Gmail affiche les messages "envoyés" et "reçus", vous n'avez pas d'autre choix que de recevoir tous ces messages.

Vous feriez peut-être mieux d'utiliser IMAP4 au lieu de POP3. Python a des bibliothèques qui fonctionneront avec le serveur IMAP4 de gmail.

Autres conseils

Je suppose que vous avez activé l'accès POP3 / IMAP à votre compte GMail.

Ceci est un exemple de code:

import imaplib
conn= imaplib.IMAP4_SSL('imap.googlemail.com')
conn.login('yourusername', 'yourpassword')
code, dummy= conn.select('INBOX')
if code != 'OK':
    raise RuntimeError, "Failed to select inbox"

code, data= self.conn.search(None, ALL)
if code == 'OK':
    msgid_list= data[0].split()
else:
    raise RuntimeError, "Failed to get message IDs"

for msgid in msgid_list:
    code, data= conn.fetch(msgid, '(RFC822)')
    # you can also use '(RFC822.HEADER)' only for headers
    if code == 'OK':
        pass # your code here
    else:
        raise RuntimeError, "could not retrieve msgid %r" % msgid

conn.close()
conn.logout()

ou quelque chose comme ça.

Ce code Java vous suggère de sélectionner un "dossier" particulier. à télécharger, même en utilisant POP3. Encore une fois, cela utilise Java, pas Python, donc YMMV.

Comment télécharger un message de GMail en utilisant Java (un article de blog explique comment transférer localement du contenu dans un moteur de recherche Lucene)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top