diff --git a/README.rst b/README.rst index 79ad475..02852c3 100644 --- a/README.rst +++ b/README.rst @@ -30,88 +30,88 @@ Usage # SSL Context docs https://docs.python.org/3/library/ssl.html#ssl.create_default_context - imbox = Imbox('imap.gmail.com', + with Imbox('imap.gmail.com', username='username', password='password', ssl=True, - ssl_context=None) + ssl_context=None) as imbox: - # Gets all messages - all_messages = imbox.messages() + # Gets all messages + all_messages = imbox.messages() - # Unread messages - unread_messages = imbox.messages(unread=True) + # Unread messages + unread_messages = imbox.messages(unread=True) - # Messages sent FROM - messages_from = imbox.messages(sent_from='martin@amon.cx') + # 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 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 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 received after specific date + messages_from = imbox.messages(date__gt='30-July-2013') - # Messages from a specific folder - messages_folder = imbox.messages(folder='Social') + # 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 + 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 + 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 all available keys + print(message.keys()) - # To check the whole object, just write + # To check the whole object, just write - print(message) + print(message) - { - 'headers': - [{ - 'Name': 'Received-SPF', - 'Value': 'pass (google.com: domain of ......;' - }, { - 'Name': 'MIME-Version', - 'Value': '1.0' + 'headers': + [{ + 'Name': 'Received-SPF', + 'Value': 'pass (google.com: domain of ......;' + }, + { + 'Name': 'MIME-Version', + 'Value': '1.0' + }], + 'body': { + 'plain': ['ASCII'], + 'html': ['HTML BODY'] + }, + 'attachments': [{ + 'content': , + 'filename': "avatar.png", + 'content-type': 'image/png', + 'size': 80264 }], - 'body': { - 'plain': ['ASCII'], - 'html': ['HTML BODY'] - }, - 'attachments': [{ - 'content': , - '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' - } + '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 `_ diff --git a/imbox/__init__.py b/imbox/__init__.py index bba1476..657af78 100644 --- a/imbox/__init__.py +++ b/imbox/__init__.py @@ -21,6 +21,12 @@ class Imbox: logger.info("Connected to IMAP Server with user {username} on {hostname}{ssl}".format( hostname=hostname, username=username, ssl=(" over SSL" if ssl else ""))) + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + self.logout() + def logout(self): self.connection.close() self.connection.logout()