From 66a1b50cc9ec5d7fa0cc84dd55549d7f64959452 Mon Sep 17 00:00:00 2001 From: Pierre Jaury Date: Sat, 25 Jun 2016 16:06:52 +0200 Subject: [PATCH] Sign outgoing emails using DKIM --- admin/freeposte/admin/models.py | 4 +++- admin/freeposte/admin/templates/domain/details.html | 2 ++ rmilter/rmilter.conf | 11 +++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/admin/freeposte/admin/models.py b/admin/freeposte/admin/models.py index 732d8538..f2a2338c 100644 --- a/admin/freeposte/admin/models.py +++ b/admin/freeposte/admin/models.py @@ -55,7 +55,9 @@ class Domain(Base): @property def dkim_publickey(self): - return dkim.strip_key(self.dkim_key).decode("utf8") + dkim_key = self.dkim_key + if dkim_key: + return dkim.strip_key(self.dkim_key).decode("utf8") def generate_dkim_key(self): self.dkim_key = dkim.gen_key() diff --git a/admin/freeposte/admin/templates/domain/details.html b/admin/freeposte/admin/templates/domain/details.html index 05488b51..73fa3c80 100644 --- a/admin/freeposte/admin/templates/domain/details.html +++ b/admin/freeposte/admin/templates/domain/details.html @@ -31,6 +31,7 @@ Domain details {{ domain.name }}. 600 IN TXT "v=spf1 mx a:{{ config["HOSTNAME"] }} -all" {{ domain.name }}. 600 IN SPF "v=spf1 mx a:{{ config["HOSTNAME"] }} -all" + {% if domain.dkim_publickey %} DKIM public key
{{ domain.dkim_publickey }}
@@ -43,6 +44,7 @@ Domain details DNS DMARC entry
_dmarc.{{ domain.name }}. 600 IN TXT "v=DMARC1; p=reject; rua=mailto:{{ config["POSTMASTER"] }}@{{ config["DOMAIN"] }}; adkim=s; aspf=s"
+ {% endif %} {% endblock %} diff --git a/rmilter/rmilter.conf b/rmilter/rmilter.conf index 7ed30df1..c9ea9479 100644 --- a/rmilter/rmilter.conf +++ b/rmilter/rmilter.conf @@ -117,3 +117,14 @@ greylisting { awl_ttl = 3600s; }; +dkim { + domain { + key = /dkim; + domain = "*"; + selector = "dkim"; + }; + header_canon = relaxed; + body_canon = relaxed; + sign_alg = sha256; + auth_only = no; +};