Pergunta

Eu preciso baixar e-mails da caixa de entrada do Gmail usando apenas poplib.Unfortunately Eu não vejo nenhuma opção para selecionar caixa de entrada sozinho, e poplib me dá e-mails de itens enviados também.

Como faço para selecionar e-mails somente de caixa de entrada?

Eu não quero usar qualquer bibliotecas gmail específicas.

Foi útil?

Solução

POP3 não tem noção de 'pastas'. Se gmail está mostrando que ambos 'enviado', bem como e-mail 'recebido', então você realmente não tem nenhuma opção mas para receber tudo o que e-mail.

Talvez você seria melhor fora de usar IMAP4 em vez de POP3. Python tem bibliotecas que irão trabalhar com o servidor IMAP4 do gmail.

Outras dicas

Eu supor que você tenha ativado o acesso POP3 / IMAP em sua conta do Gmail.

Este é um código de exemplo:

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 algo assim.

Este código Java sugeriria que você pode selecionar uma "pasta" especial para download, mesmo quando usando POP3. Novamente, isso é usando Java, não Python assim YMMV.

Como baixar mensagem do Gmail usando Java (post no blog discute empurrando o conteúdo em um motor de busca Lucene localmente)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top