Python IMAP for Humans
Project description
Mailbox - Python IMAP for Humans
=======
Python library for reading IMAP mailboxes and converting the email content to human readable data
Installation
============
pip install mailbox
or
git clone git@github.com:martinrusev/mailbox.git
python setup.py install
Usage
=====
from mailbox import MailBox
mailbox = MailBox('imap.gmail.com',
username='username',
password='password',
ssl=True)
# Gets all messages
all_messages = mailbox.messages()
# Unread messages
unread_messages = mailbox.messages(unread=True)
for 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.text_body
# 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'
}],
'text_body': ['ASCII'],
'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'
}
TODO
======
- Replace the dictionaries with objects and generators
- Add logging and exceptions
- Implement smarter header parsing
=======
Python library for reading IMAP mailboxes and converting the email content to human readable data
Installation
============
pip install mailbox
or
git clone git@github.com:martinrusev/mailbox.git
python setup.py install
Usage
=====
from mailbox import MailBox
mailbox = MailBox('imap.gmail.com',
username='username',
password='password',
ssl=True)
# Gets all messages
all_messages = mailbox.messages()
# Unread messages
unread_messages = mailbox.messages(unread=True)
for 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.text_body
# 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'
}],
'text_body': ['ASCII'],
'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'
}
TODO
======
- Replace the dictionaries with objects and generators
- Add logging and exceptions
- Implement smarter header parsing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mailbox-0.4.tar.gz
(4.1 kB
view details)
File details
Details for the file mailbox-0.4.tar.gz
.
File metadata
- Download URL: mailbox-0.4.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9bf9679932f7a245902d33924dff11485bcf49cac0526f1a5eb9550bc510d73 |
|
MD5 | af1fdca43ab5eedb37e1efad125004d6 |
|
BLAKE2b-256 | 8d8ca5fc222a2fc8a915b572b14a59b7939f08b011f7f2118f61a3fd15cc0655 |