Sign outgoing emails using DKIM
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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"</pre></td>
|
||||
</tr>
|
||||
{% if domain.dkim_publickey %}
|
||||
<tr>
|
||||
<th>DKIM public key</th>
|
||||
<td><pre style="white-space: pre-wrap; word-wrap: break-word;">{{ domain.dkim_publickey }}</pre></td>
|
||||
@@ -43,6 +44,7 @@ Domain details
|
||||
<th>DNS DMARC entry</th>
|
||||
<td><pre>_dmarc.{{ domain.name }}. 600 IN TXT "v=DMARC1; p=reject; rua=mailto:{{ config["POSTMASTER"] }}@{{ config["DOMAIN"] }}; adkim=s; aspf=s"</pre></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user