From 90bd84e9ccbfe9144ce0b4d560ce2fa1b268c202 Mon Sep 17 00:00:00 2001 From: Son NK Date: Fri, 27 Dec 2019 23:35:28 +0100 Subject: [PATCH] add DKIM_PUBLIC_KEY_PATH setting --- README.md | 5 +++++ app/config.py | 10 ++++++++++ local_data/dkim.pub.key | 6 ++++++ 3 files changed, 21 insertions(+) create mode 100644 local_data/dkim.pub.key diff --git a/README.md b/README.md index 48413d28..8d4d8d4e 100644 --- a/README.md +++ b/README.md @@ -237,6 +237,7 @@ EMAIL_DOMAIN=mydomain.com SUPPORT_EMAIL=support@mydomain.com EMAIL_SERVERS_WITH_PRIORITY=[(10, "app.mydomain.com.")] DKIM_PRIVATE_KEY_PATH=/dkim.key +DKIM_PUBLIC_KEY_PATH=/dkim.pub.key DB_URI=postgresql://myuser:mypassword@sl-db:5432/simplelogin # optional, to have more choices for random alias. @@ -250,6 +251,7 @@ Before running the webapp, you need to prepare the database by running the migra docker run --rm \ --name sl-migration \ -v $(pwd)/dkim.key:/dkim.key \ + -v $(pwd)/dkim.pub.key:/dkim.pub.key \ -v $(pwd)/simplelogin.env:/code/.env \ --network="sl-network" \ simplelogin/app flask db upgrade @@ -264,6 +266,7 @@ docker run -d \ --name sl-app \ -v $(pwd)/simplelogin.env:/code/.env \ -v $(pwd)/dkim.key:/dkim.key \ + -v $(pwd)/dkim.pub.key:/dkim.pub.key \ -p 7777:7777 \ --network="sl-network" \ simplelogin/app @@ -276,6 +279,7 @@ docker run -d \ --name sl-email \ -v $(pwd)/simplelogin.env:/code/.env \ -v $(pwd)/dkim.key:/dkim.key \ + -v $(pwd)/dkim.pub.key:/dkim.pub.key \ -p 20381:20381 \ --network="sl-network" \ simplelogin/app python email_handler.py @@ -288,6 +292,7 @@ docker run -d \ --name sl-cron \ -v $(pwd)/simplelogin.env:/code/.env \ -v $(pwd)/dkim.key:/dkim.key \ + -v $(pwd)/dkim.pub.key:/dkim.pub.key \ --network="sl-network" \ simplelogin/app yacron -c /code/crontab.yml ``` diff --git a/app/config.py b/app/config.py index 77dcb641..e2906ee3 100644 --- a/app/config.py +++ b/app/config.py @@ -58,11 +58,21 @@ else: IGNORED_EMAILS = [] DKIM_PRIVATE_KEY_PATH = get_abs_path(os.environ["DKIM_PRIVATE_KEY_PATH"]) +DKIM_PUBLIC_KEY_PATH = get_abs_path(os.environ["DKIM_PUBLIC_KEY_PATH"]) DKIM_SELECTOR = b"dkim" with open(DKIM_PRIVATE_KEY_PATH) as f: DKIM_PRIVATE_KEY = f.read() + +with open(DKIM_PUBLIC_KEY_PATH) as f: + DKIM_DNS_VALUE = f.read() + DKIM_DNS_VALUE = DKIM_DNS_VALUE.replace("-----BEGIN PUBLIC KEY-----", "") + DKIM_DNS_VALUE = DKIM_DNS_VALUE.replace("-----END PUBLIC KEY-----", "") + DKIM_DNS_VALUE = DKIM_DNS_VALUE.replace("\r", "") + DKIM_DNS_VALUE = DKIM_DNS_VALUE.replace("\n", "") + + DKIM_HEADERS = [b"from", b"to", b"subject"] # Database diff --git a/local_data/dkim.pub.key b/local_data/dkim.pub.key new file mode 100644 index 00000000..c9b83a12 --- /dev/null +++ b/local_data/dkim.pub.key @@ -0,0 +1,6 @@ +-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCxhcKgFHz+HbZiuUhH7iGCVsaZ +YQ7xzf64ui+09QFlSYzl7d28LVlr7nvM0+xDbwwsgu2D1vweklroWM5FjbfVtJX3 +HvSnNbwceX5du/m8RHelmX0/vLSfsEcnvdNjBmwl/gSIUb660pEp2yo6dUBDTzTD +UBNoL6qmnnTNhriRoQIDAQAB +-----END PUBLIC KEY----- \ No newline at end of file