Pregunta

Necesito descargar correos electrónicos de la bandeja de entrada de gmail solo usando poplib. Desafortunadamente, no veo ninguna opción para seleccionar solo la Bandeja de entrada, y poplib también me da correos electrónicos de los elementos enviados.

¿Cómo selecciono los correos electrónicos solo desde la bandeja de entrada?

No quiero usar ninguna biblioteca específica de gmail.

¿Fue útil?

Solución

POP3 no tiene el concepto de 'carpetas'. Si gmail te muestra tanto el correo 'enviado' como el 'recibido', entonces realmente no tienes más remedio que recibir todo ese correo electrónico.

Tal vez sería mejor usar IMAP4 en lugar de POP3. Python tiene bibliotecas que funcionarán con el servidor IMAP4 de gmail.

Otros consejos

Supongo que ha habilitado el acceso POP3 / IMAP a su cuenta de GMail.

Este es un código de ejemplo:

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()

o algo como esto.

Este código de Java sugiere que puede seleccionar una carpeta " " " para descargar, incluso cuando se utiliza POP3. Nuevamente, esto está usando Java, no Python, por lo tanto, YMMV.

Cómo descargar un mensaje desde GMail usando Java (la publicación del blog trata sobre cómo insertar contenido en un motor de búsqueda Lucene localmente)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top