Skip to main content

Python IMAP for Human beings

Project description

Build Status

Python library for reading IMAP mailboxes and converting email content to machine readable data

Requirements

Python (3.2, 3.3, 3.4, 3.5, 3.6)

Installation

pip install imbox

Usage

from imbox import Imbox

# SSL Context docs https://docs.python.org/3/library/ssl.html#ssl.create_default_context

with Imbox('imap.gmail.com',
        username='username',
        password='password',
        ssl=True,
        ssl_context=None) as imbox:

    # Gets all messages
    all_messages = imbox.messages()

    # Unread messages
    unread_messages = imbox.messages(unread=True)

    # Messages sent FROM
    messages_from = imbox.messages(sent_from='martin@amon.cx')

    # Messages sent TO
    messages_from = imbox.messages(sent_to='martin@amon.cx')

    # Messages received before specific date
    messages_from = imbox.messages(date__lt='31-July-2013')

    # Messages received after specific date
    messages_from = imbox.messages(date__gt='30-July-2013')

    # Messages from a specific folder
    messages_folder = imbox.messages(folder='Social')



    for uid, message in all_messages:
    # Every message is an object with the following keys

        message.sent_from
        message.sent_to
        message.subject
        message.headers
        message.message_id
        message.date
        message.body.plain
        message.body.html
        message.attachments

    # To check all available keys
        print(message.keys())


    # To check the whole object, just write

        print(message)

        {
        'headers':
            [{
                'Name': 'Received-SPF',
                'Value': 'pass (google.com: domain of ......;'
            },
            {
                'Name': 'MIME-Version',
                'Value': '1.0'
            }],
        'body': {
            'plain': ['ASCII'],
            'html': ['HTML BODY']
        },
        'attachments':  [{
            'content': <StringIO.StringIO instance at 0x7f8e8445fa70>,
            'filename': "avatar.png",
            'content-type': 'image/png',
            'size': 80264
        }],
        'date': u 'Fri, 26 Jul 2013 10:56:26 +0300',
        'message_id': u '51F22BAA.1040606',
        'sent_from': [{
            'name': u 'Martin Rusev',
            'email': 'martin@amon.cx'
        }],
        'sent_to': [{
            'name': u 'John Doe',
            'email': 'john@gmail.com'
        }],
        'subject': u 'Hello John, How are you today'
        }

Changelog

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imbox-0.9.tar.gz (7.1 kB view details)

Uploaded Source

File details

Details for the file imbox-0.9.tar.gz.

File metadata

  • Download URL: imbox-0.9.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for imbox-0.9.tar.gz
Algorithm Hash digest
SHA256 50063637bfa26c39cd49a8bc44537e1dc9f40b2979c232d816527a563decc282
MD5 2fcc0ac7382a798b9ec6924707897c9b
BLAKE2b-256 9e793d6ae011e8723a4a9657a344984da30ccf74b3005eda0085fc9265850a38

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page