summaryrefslogtreecommitdiff
path: root/service/pixelated/bitmask_libraries/smtp.py
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2015-02-18 13:40:41 -0200
committerDuda Dornelles <ddornell@thoughtworks.com>2015-02-18 13:40:49 -0200
commitdd63db87fdbb9667c1027edd700b4047b6983d1f (patch)
tree85c7a2875f535412760dc7d87c7550777f265814 /service/pixelated/bitmask_libraries/smtp.py
parent4a8217744e1d1ca60d158c3497a09b92f857a7fd (diff)
#294 - not failing service startup if smtp fails to start
Diffstat (limited to 'service/pixelated/bitmask_libraries/smtp.py')
-rw-r--r--service/pixelated/bitmask_libraries/smtp.py13
1 files changed, 13 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>.
+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()