Next generation email box reader/manager
Red Box is an advanced email box reader library. It is a sister library for Red Mail, advanced email sender. It makes managing your email box in Python very easy.
Core features:
- Easy email searching
- Intuitive message manipulation
- Intuitive email box manipulation
Install it from PyPI:
pip install redbox
Imaplib from standard library is complex to use and unintuitive. Red Box makes reading email boxes easy.
With Red Box, it is simple as this:
from redbox import EmailBox
# Create an email box instance
box = EmailBox(host="localhost", port=0)
# Select an email folder
inbox = box['INBOX']
# Get emails
emails = inbox.search(
from_="mikael.koli@example.com",
subject="Red Box released",
unseen=True
)
There is also a query language for arbitrary search queries:
from redbox.query import FROM, UNSEEN, FLAGGED
emails = inbox.search(
FROM('mikael.koli@example.com') & (UNSEEN | FLAGGED)
)
Red Box also makes reading different parts of the email messages easy:
# Get one email
email = emails[0]
# String representation of the message
print(email.content)
# Email contents
print(email.text_body)
print(email.html_body)
# Email headers
print(email.from_)
print(email.to)
print(email.date)
Here is a complete example:
from redbox import EmailBox
box = EmailBox(host="localhost", port=0)
inbox = box['INBOX']
for msg in inbox.search(subject="example 2", unseen=True):
# Process the message
print(msg.subject)
print(msg.text_body)
# Set the message as read/seen
msg.read()
See more from the documentation.
If the library helped you save time, consider buying a coffee for the maintainer ☕.
- Mikael Koli - Miksus - koli.mikael@gmail.com