Add suport for starttls

This commit is contained in:
Ivan Pereira
2017-11-30 16:14:17 +00:00
parent 6c11c759c0
commit 5664e9c48a
2 changed files with 6 additions and 4 deletions

View File

@@ -9,17 +9,17 @@ logger = logging.getLogger(__name__)
class Imbox:
def __init__(self, hostname, username=None, password=None, ssl=True,
port=None, ssl_context=None, policy=None):
port=None, ssl_context=None, policy=None, starttls=False):
self.server = ImapTransport(hostname, ssl=ssl, port=port,
ssl_context=ssl_context)
ssl_context=ssl_context, starttls=starttls)
self.hostname = hostname
self.username = username
self.password = password
self.parser_policy = policy
self.connection = self.server.connect(username, password)
logger.info("Connected to IMAP Server with user {username} on {hostname}{ssl}".format(
hostname=hostname, username=username, ssl=(" over SSL" if ssl else "")))
hostname=hostname, username=username, ssl=(" over SSL" if ssl or starttls else "")))
def __enter__(self):
return self

View File

@@ -8,7 +8,7 @@ logger = logging.getLogger(__name__)
class ImapTransport:
def __init__(self, hostname, port=None, ssl=True, ssl_context=None):
def __init__(self, hostname, port=None, ssl=True, ssl_context=None, starttls=False):
self.hostname = hostname
self.port = port
kwargs = {}
@@ -26,6 +26,8 @@ class ImapTransport:
self.port = 143
self.server = self.transport(self.hostname, self.port, **kwargs)
if starttls:
self.server.starttls()
logger.debug("Created IMAP4 transport for {host}:{port}"
.format(host=self.hostname, port=self.port))