Add suport for starttls
This commit is contained in:
@@ -9,17 +9,17 @@ logger = logging.getLogger(__name__)
|
|||||||
class Imbox:
|
class Imbox:
|
||||||
|
|
||||||
def __init__(self, hostname, username=None, password=None, ssl=True,
|
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,
|
self.server = ImapTransport(hostname, ssl=ssl, port=port,
|
||||||
ssl_context=ssl_context)
|
ssl_context=ssl_context, starttls=starttls)
|
||||||
self.hostname = hostname
|
self.hostname = hostname
|
||||||
self.username = username
|
self.username = username
|
||||||
self.password = password
|
self.password = password
|
||||||
self.parser_policy = policy
|
self.parser_policy = policy
|
||||||
self.connection = self.server.connect(username, password)
|
self.connection = self.server.connect(username, password)
|
||||||
logger.info("Connected to IMAP Server with user {username} on {hostname}{ssl}".format(
|
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):
|
def __enter__(self):
|
||||||
return self
|
return self
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
class ImapTransport:
|
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.hostname = hostname
|
||||||
self.port = port
|
self.port = port
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
@@ -26,6 +26,8 @@ class ImapTransport:
|
|||||||
self.port = 143
|
self.port = 143
|
||||||
|
|
||||||
self.server = self.transport(self.hostname, self.port, **kwargs)
|
self.server = self.transport(self.hostname, self.port, **kwargs)
|
||||||
|
if starttls:
|
||||||
|
self.server.starttls()
|
||||||
logger.debug("Created IMAP4 transport for {host}:{port}"
|
logger.debug("Created IMAP4 transport for {host}:{port}"
|
||||||
.format(host=self.hostname, port=self.port))
|
.format(host=self.hostname, port=self.port))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user