0

I need read my gmail email, but I do not know how to read the contents of the message body, I hope you can help me, thank you very much!

It is also helpful if I collaborate with the while loop.

import imaplib

print "Bienvenido"

print "Logueando email.."

email = "email@gmail.com"
passwd = "password"

conn = imaplib.IMAP4_SSL('imap.gmail.com')

try:
        conn.login(email, passwd)
except:
        print sys.exc_info()[1]
        sys.exit(1)

print "Ok"

print "Seleccionando emails del banco.."

conn.select('INBOX')

def emails_from(name):
    status, response = conn.search(None, '(FROM "%s")' % name)
    email_ids = [e_id for e_id in response[0].split()]
    print "Ok"
    print "Revisando si llego el correo.."
    ids = email_ids[-1]
    print ids
    if ids == '279':
        print "no tiene nuevo correo" #---------BUCLE WHILE TRUE HERE.
    else:
        print "si tiene nuevo correo" #---------READ BODY FROM ID.

    print "Ok"
    return email_ids

emails_from(email)

print "Bye"
jcrashvzla
  • 57
  • 2
  • 8

1 Answers1

0

You want to use the conn.fetch method. Here's the imaplib example:

import getpass, imaplib

M = imaplib.IMAP4()
M.login(getpass.getuser(), getpass.getpass())
M.select()
typ, data = M.search(None, 'ALL')
for num in data[0].split():
    typ, data = M.fetch(num, '(RFC822)')
    print 'Message %s\n%s\n' % (num, data[0][1])
M.close()
M.logout()

So probably just do:

typ, data = conn.fetch(ids, '(RFC822)')
CrazyCasta
  • 26,917
  • 4
  • 45
  • 72