import imaplib imap_host = 'imap.gmail.com' imap_user = 'youremail@gmail.com' imap_pass = 'password' ## open a connection imap = imaplib.IMAP4_SSL(imap_host) ## login imap.login(imap_user, imap_pass) ## get status for the mailbox (folder) INBOX folderStatus, UnseenInfo = imap.status('INBOX', "(UNSEEN)") print folderStatus NotReadCounter = int(UnseenInfo[0].split()[2].strip(').,]')) print NotReadCounter ## create a new folder status, createFolder_response = imap.create('myFolders.xyz') ## folders list status, folder_list = imap.list() ## list sub-folders status, sub_folder_list = imap.list(directory='insd') ## select a specific folder status, data = imap.select('INBOX') ## searching current folder using title keywords status, messages = imap.search(None, '(SUBJECT "Work Report")') ## fetching message header by using message( ID) status, msg_header = imap.fetch('1', '(BODY.PEEK[HEADER])') ## fetching the full message ( ID=1) status, AllTheMessage= imap.fetch('1', '(RFC822)') ## moving/copying messages around folders status, messages = imap.copy(msg_ids, 'myFolders.xyz') status, messages = imap.move(msg_ids, 'otherFolder') - See more at: http://www.codemiles.com/python-tutorials/reading-email-in-python-t10271.html#sthash.6QOePZ7p.dpuf