Skip to main content

Read Mail Inbox - Easy coding with python



Install email and imaplib package from pip install. Continue the following programme.



import email
import imaplib


def read_email():
 
    try:
        mail = imaplib.IMAP4_SSL("imap.gmail.com")
        mail.login("xxxxx@gmail.com", "xxxxxx")
#        mail.select('"[Gmail]/Sent Mail"', readonly=True)
        mail.select('INBOX', readonly=True)

        type, data = mail.search(None, 'ALL')
        mail_ids = data[0]

        id_list = mail_ids.split()
        first_email_id = int(id_list[0])
        latest_email_id = int(id_list[-1])

        for i in range(latest_email_id, first_email_id-1, -1):
            typ, data = mail.fetch(i, '(RFC822)')

            for response_part in data:
                print "*"*30
                if isinstance(response_part, tuple):
                    msg = email.message_from_string(response_part[1])
                    email_subject = msg['subject']
                    email_from = msg['from']
                    email_body = msg['body']
                    print 'From: %s ==== %s  ' %(email_from, email_subject)

                    for part in msg.walk():
                        if part.get_content_type() == 'text/plain':
                            print part.get_payload(None, True)

    except Exception, e:
        print str(e)
                 

if __name__ == '__main__':
    print 'Mail Reading'
    read_email()

Comments