From 6cfd5341923d000e3613264b862ec0480f194fe4 Mon Sep 17 00:00:00 2001 From: Son NK <> Date: Tue, 14 Apr 2020 12:45:47 +0200 Subject: [PATCH] Add LOAD_PGP_EMAIL_HANDLER param. Load PGP keys if LOAD_PGP_EMAIL_HANDLER is set --- app/config.py | 3 +++ email_handler.py | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/app/config.py b/app/config.py index 99f052ad..a1224ec0 100644 --- a/app/config.py +++ b/app/config.py @@ -226,3 +226,6 @@ if LOCAL_FILE_UPLOAD: os.makedirs(UPLOAD_DIR) LANDING_PAGE_URL = os.environ.get("LANDING_PAGE_URL") or "https://simplelogin.io" + +# Loading PGP keys when mail_handler runs. To be used locally when init_app is not called. +LOAD_PGP_EMAIL_HANDLER = "LOAD_PGP_EMAIL_HANDLER" in os.environ diff --git a/email_handler.py b/email_handler.py index ba0dd7cc..3fba134f 100644 --- a/email_handler.py +++ b/email_handler.py @@ -53,6 +53,7 @@ from app.config import ( ALIAS_DOMAINS, POSTFIX_SUBMISSION_TLS, UNSUBSCRIBER, + LOAD_PGP_EMAIL_HANDLER, ) from app.email_utils import ( send_email, @@ -80,6 +81,7 @@ from app.models import ( RefusedEmail, ) from app.utils import random_string +from init_app import load_pgp_public_keys from server import create_app # used when an alias receives email from its own mailbox @@ -857,5 +859,11 @@ if __name__ == "__main__": controller.start() LOG.d("Start mail controller %s %s", controller.hostname, controller.port) + if LOAD_PGP_EMAIL_HANDLER: + LOG.warning("LOAD PGP keys") + app = create_app() + with app.app_context(): + load_pgp_public_keys(app) + while True: time.sleep(2)