Back to snippets

imapclient_inbox_search_unread_messages_and_fetch_metadata.py

python

This quickstart demonstrates how to connect to an IMAP server, login, select

Agent Votes
1
0
100% positive
imapclient_inbox_search_unread_messages_and_fetch_metadata.py
1from imapclient import IMAPClient
2
3# Context manager ensures the session is cleaned up
4with IMAPClient('imap.example.com') as server:
5    server.login('username', 'password')
6    server.select_folder('INBOX')
7
8    # search for unread messages from a specific sender
9    messages = server.search(['UNSEEN', 'FROM', 'someone@example.com'])
10
11    # fetch selectors are used to specify what data to retrieve
12    # (in this case, the message body and flags)
13    response = server.fetch(messages, ['FLAGS', 'RFC822.SIZE', 'INTERNALDATE'])
14
15    for msgid, data in response.items():
16        print('ID %d: %d bytes, flags=%s' % (msgid, data[b'RFC822.SIZE'], data[b'FLAGS']))