From b727ab8090790db2854dac191faee702f085ac20 Mon Sep 17 00:00:00 2001 From: Duda Dornelles Date: Fri, 29 Aug 2014 16:29:22 -0300 Subject: Refactoring into mailboxes and mailsender - less colaborators for mail service --- service/pixelated/bitmask_libraries/session.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'service/pixelated/bitmask_libraries/session.py') diff --git a/service/pixelated/bitmask_libraries/session.py b/service/pixelated/bitmask_libraries/session.py index bb9bd3fe..09229e17 100644 --- a/service/pixelated/bitmask_libraries/session.py +++ b/service/pixelated/bitmask_libraries/session.py @@ -21,16 +21,31 @@ from leap.mail.imap.account import SoledadBackedAccount import sys from leap.mail.imap.memorystore import MemoryStore from leap.mail.imap.soledadstore import SoledadStore +from pixelated.bitmask_libraries.config import LeapConfig +from pixelated.bitmask_libraries.provider import LeapProvider from twisted.internet import reactor from .nicknym import NickNym -from .auth import LeapAuthenticator +from .auth import LeapAuthenticator, LeapCredentials from .soledad import SoledadSessionFactory, SoledadSession from .smtp import LeapSmtp SESSIONS = {} +def open(username, password, server_name): + try: + certs_home = os.path.abspath(os.path.join(os.path.abspath(__file__), "..", "..", "certificates")) + + config = LeapConfig(certs_home=certs_home) + provider = LeapProvider(server_name, config) + session = LeapSessionFactory(provider).create(LeapCredentials(username, password)) + return session + except: + traceback.print_exc(file=sys.stdout) + raise + + class LeapSession(object): """ A LEAP session. @@ -118,6 +133,9 @@ class LeapSessionFactory(object): incoming_mail_fetcher = self._create_incoming_mail_fetcher(nicknym, soledad, account, auth) + smtp = LeapSmtp(self._provider, nicknym.keymanager, auth) + smtp.start() + return LeapSession(self._provider, auth, soledad, nicknym, account, incoming_mail_fetcher) def _lookup_session(self, key): -- cgit v1.2.3