In [ ]:
import maildaemon
In [ ]:
cfg = maildaemon.load_config()
In [ ]:
connections = cfg['connections']
In [ ]:
from maildaemon.imap_daemon import IMAPDaemon
from maildaemon.smtp_connection import SMTPConnection
from maildaemon.pop_daemon import POPDaemon
1and1
In [ ]:
one_and_one_imap = IMAPDaemon.from_dict(connections['1and1-imap'])
In [ ]:
one_and_one_imap.connect()
In [ ]:
one_and_one_imap.retrieve_folders_with_flags()
In [ ]:
one_and_one_imap.retrieve_messages([1, 2, 3])
In [ ]:
one_and_one_imap.disconnect()
In [ ]:
one_and_one_smtp = SMTPConnection.from_dict(connections['1and1-smtp'])
#one_and_one_pop = POPDaemon.from_dict(connections['1and1-pop'])
one_and_one_smtp.connect()
#one_and_one_pop.connect()
In [ ]:
one_and_one_smtp.disconnect()
#one_and_one_pop.disconnect()
Gmail
In [ ]:
gmail_imap = IMAPDaemon.from_dict(connections['gmail-imap'])
gmail_imap.connect()
In [ ]:
gmail_imap.retrieve_folders_with_flags()
In [ ]:
gmail_imap.open_folder()
In [ ]:
gmail_imap.open_folder('[Gmail]/Sent Mail')
In [ ]:
gmail_imap.open_folder('[Gmail]/All Mail')
In [ ]:
gmail_imap.retrieve_message_ids()
In [ ]:
gmail_imap.retrieve_message_parts(1, ['UID', 'FLAGS'])
In [ ]:
gmail_imap.retrieve_messages_parts(range(1,100), ['ENVELOPE'], '[Gmail]/All Mail')
In [ ]:
gmail_imap.retrieve_messages_parts(range(1,100), ['ENVELOPE'])
In [ ]:
message_parts = gmail_imap.retrieve_message_parts(10, ['ENVELOPE'])
message_parts
In [ ]:
gmail_imap.move_messages([10], '[Gmail]/Important')
In [ ]:
def enable(self):
self._link.enable('MOVE')
In [ ]:
enable(gmail_imap)
In [ ]:
message = gmail_imap.retrieve_message(1)
message
In [ ]:
gmail_imap.disconnect()
In [ ]:
gmail_smtp = SMTPConnection.from_dict(connections['gmail-smtp'])
gmail_smtp.connect()
In [ ]:
gmail_smtp.disconnect()
iTSCOM
In [ ]:
#itscom_smtp = SMTPConnection.from_dict(connections['itscom-smtp'])
itscom_pop = POPDaemon.from_dict(connections['itscom-pop'])
In [ ]:
itscom_pop.connect()
In [ ]:
itscom_pop.retrieve_message_ids()
In [ ]:
itscom_pop.disconnect()
In [ ]:
import email
In [ ]:
envelope, body = message_parts
email_message = email.message_from_bytes(body) # type: email.message.Message
print(email_message.as_string())
email_message
In [ ]:
email_message.defects
In [ ]:
parser = email.parser.BytesParser()
msg = parser.parsebytes(body, headersonly=False)
print(msg.as_string())
msg.items() == email_message.items()