From dd63db87fdbb9667c1027edd700b4047b6983d1f Mon Sep 17 00:00:00 2001 From: Duda Dornelles Date: Wed, 18 Feb 2015 13:40:41 -0200 Subject: #294 - not failing service startup if smtp fails to start --- service/pixelated/bitmask_libraries/smtp.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'service/pixelated/bitmask_libraries/smtp.py') diff --git a/service/pixelated/bitmask_libraries/smtp.py b/service/pixelated/bitmask_libraries/smtp.py index 6bbe0051..d5236e8e 100644 --- a/service/pixelated/bitmask_libraries/smtp.py +++ b/service/pixelated/bitmask_libraries/smtp.py @@ -13,12 +13,16 @@ # # You should have received a copy of the GNU Affero General Public License # along with Pixelated. If not, see . +import logging import os import requests from .certs import which_bundle from leap.mail.smtp import setup_smtp_gateway +logger = logging.getLogger(__name__) + + class LeapSmtp(object): TWISTED_PORT = 4650 @@ -86,6 +90,15 @@ class LeapSmtp(object): encrypted_only=False ) + def ensure_running(self): + if not self._smtp_service: + try: + self.start() + except Exception as e: + logger.warning("Couldn't start the SMTP server now, will try again when the user tries to use it") + return False + return True + def stop(self): if self._smtp_service is not None: self._smtp_port.stopListening() -- cgit v1.2.3