Skip to content

Commit 90a30af

Browse files
authored
Create README.md
1 parent f6fa63f commit 90a30af

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

README.md

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Imbox - Python IMAP for Humans
2+
3+
![workflow](https://github.com/martinrusev/imbox/actions/workflows/python-app.yml/badge.svg)
4+
5+
Python library for reading IMAP mailboxes and converting email content
6+
to machine readable data
7+
8+
## Requirements
9+
10+
Python (3.6, 3.7, 3.8, 3.9)
11+
12+
## Installation
13+
14+
`pip install imbox`
15+
16+
## Usage
17+
18+
``` python
19+
from imbox import Imbox
20+
21+
# SSL Context docs https://docs.python.org/3/library/ssl.html#ssl.create_default_context
22+
23+
with Imbox('imap.gmail.com',
24+
username='username',
25+
password='password',
26+
ssl=True,
27+
ssl_context=None,
28+
starttls=False) as imbox:
29+
30+
# Get all folders
31+
status, folders_with_additional_info = imbox.folders()
32+
33+
# Gets all messages from the inbox
34+
all_inbox_messages = imbox.messages()
35+
36+
# Unread messages
37+
unread_inbox_messages = imbox.messages(unread=True)
38+
39+
# Flagged messages
40+
inbox_flagged_messages = imbox.messages(flagged=True)
41+
42+
# Un-flagged messages
43+
inbox_unflagged_messages = imbox.messages(unflagged=True)
44+
45+
# Flagged messages
46+
flagged_messages = imbox.messages(flagged=True)
47+
48+
# Un-flagged messages
49+
unflagged_messages = imbox.messages(unflagged=True)
50+
51+
# Messages sent FROM
52+
inbox_messages_from = imbox.messages(sent_from='[email protected]')
53+
54+
# Messages sent TO
55+
inbox_messages_to = imbox.messages(sent_to='[email protected]')
56+
57+
# Messages received before specific date
58+
inbox_messages_received_before = imbox.messages(date__lt=datetime.date(2018, 7, 31))
59+
60+
# Messages received after specific date
61+
inbox_messages_received_after = imbox.messages(date__gt=datetime.date(2018, 7, 30))
62+
63+
# Messages received on a specific date
64+
inbox_messages_received_on_date = imbox.messages(date__on=datetime.date(2018, 7, 30))
65+
66+
# Messages whose subjects contain a string
67+
inbox_messages_subject_christmas = imbox.messages(subject='Christmas')
68+
69+
# Messages whose UID is greater than 1050
70+
inbox_messages_uids_greater_than_1050 = imbox.messages(uid__range='1050:*')
71+
72+
# Messages from a specific folder
73+
messages_in_folder_social = imbox.messages(folder='Social')
74+
75+
# Some of Gmail's IMAP Extensions are supported (label and raw):
76+
all_messages_with_an_attachment_from_martin = imbox.messages(folder='all', raw='from:[email protected] has:attachment')
77+
all_messages_labeled_finance = imbox.messages(folder='all', label='finance')
78+
79+
for uid, message in all_inbox_messages:
80+
# Every message is an object with the following keys
81+
82+
message.sent_from
83+
message.sent_to
84+
message.subject
85+
message.headers
86+
message.message_id
87+
message.date
88+
message.body.plain
89+
```

0 commit comments

Comments
 (0)