Ich habe 2 Tage lang versucht, Exim anzuweisen, DKIM-Signaturen auf meinem Debian8-Server hinzuzufügen. Kein Erfolg. Habe viele Anleitungen, Foren gelesen, aber keine der möglichen Lösungen auf meinem Server.
Habe die Schlüssel generiert:
cd /etc/exim4/
openssl genrsa -out example.com-private.pem 1024 -outform PEM
openssl rsa -in example.com-private.pem -out example.com.pem -pubout -outform PEM
Datei gefickt
00_local_macros
im
/etc/exim4/conf.d/main/
mit folgendem Inhalt:
DKIM_CANON = relaxed
DKIM_SELECTOR = 20160604
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_PRIVATE_KEY=${if exists{/etc/exim4/${dkim_domain}-private.pem} {/etc/exim4/${dkim_domain}-private.pem}}
Haben einen Text-DNS-Eintrag veröffentlicht:
20160604._domainkey.example.com
Inhalt mit öffentlichem Schlüssel:
k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDRpHpC2q1ycmaqdnYlf5WI5g7ZyiXybd6EFdOqk35Sl7ZNfSeZelbyxqgLN+BzHpbp4Z4JDtKLSgBwugCePhl2xVDtQvO9XfqwQLMO5PAOONCLTwoGYrViwf5ki2zIqS2uN5MpuRTKW/IiK3CtRId+w5gjdACAvkwZWBstKEDrQQIDAQAB
# update-exim4.conf
# service exim4 restart
sogar den Server neu gestartet.
Alle E-Mails kommen immer noch ohne DKIM-Signatur an.
Versucht, Zeilen hinzuzufügen:
dkim_domain = ${lc:${domain:$h_from:}}
DKIM_PRIVATE_KEY=${if exists{/etc/exim4/${dkim_domain}-private.pem} {/etc/exim4/${dkim_domain}-private.pem}}
DKIM_CANON = relaxed
DKIM_SELECTOR = 20160604
dkim_sign_headers = true
in die Datei /etc/exim4/conf.d./transport/30_exim4-config_remote_smtp, wie in einigen Foren vorgeschlagen. Kein Erfolg. Immer noch keine DKIM-Signatur.
exim4 -bV
Exim version 4.84_2 #2 built 13-Mar-2016 17:47:19
Copyright (c) University of Cambridge, 1995 - 2014
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2014
Berkeley DB: Berkeley DB 5.3.28: (September 9, 2013)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM PRDR OCSP
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /var/lib/exim4/config.autogenerated
Aktualisieren
Fast alle Tutorials sind falsch. Bei der Exim-Konfiguration mit einer einzelnen Datei müssen sich die DKIM-Einstellungen in der Datei exim4.conf.template befinden. Es klappt! Aber nur eine Domain dieser Konfiguration:
DKIM_CANON = relaxed
DKIM_DOMAIN = example.com
DKIM_PRIVATE_KEY = /etc/exim4/dkim/example.com-private.pem
DKIM_SELECTOR = 20160604
#DKIM_STRICT = true
Mehrere Domänen funktionieren immer noch nicht. Versuchte mehrere Konfigurationen, aber immer noch kein Erfolg. Alle drei unten funktionieren nicht:
DKIM_CANON = relaxed
DKIM_SELECTOR = 20160604
DKIM_DOMAIN = ${sender_address_domain}
DKIM_FILE = /etc/exim4/dkim/{DKIM_DOMAIN}-private.pem
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
DKIM_CANON = relaxed
DKIM_SELECTOR = 20160604
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_PRIVATE_KEY=${if exists{/etc/exim4/dkim/${DKIM_DOMAIN}-private.pem} {/etc/exim4/dkim/${DKIM_DOMAIN}-private.pem}}
DKIM_CANON = relaxed
DKIM_SELECTOR = 20160604
dkim_domain = ${lc:${domain:$h_from:}}
DKIM_PRIVATE_KEY=${if exists{/etc/exim4/${dkim_domain}-private.pem} {/etc/exim4/${dkim_domain}-private.pem}}
grep DKIM /var/lib/exim/config.autogenerated
zu Ihrem Beitrag hinzu. Dies sollte Ihre DKIM-Einstellungen enthalten, wenn Sie sie an der richtigen Stelle vorgenommen haben. Dies ist anders für geteilte Dateien und Konfigurationen mit einzelnen Dateien. Es hilft, die Domain, mit der Sie arbeiten, nicht auszublenden.dc_use_split_config='true'
inupdate-exim4.conf.conf
. Wenn nicht, sollten Ihre Änderungen in seinexim4.conf.template
. In beiden Fällen müssen Sie Exim neu laden oder neu starten, damit Ihre Änderungen wirksam werden.DKIM_STRICT = true
mitDKIM_PRIVATE_KEY = CONFDIR/${sender_address_domain}.private
. Dies sollte die Fehler protokollieren. Sie können auch für alle Domänen denselben Schlüssel verwenden. Es ist nicht erforderlich, dass jede Domain einen eigenen Signaturschlüssel hat.Das funktioniert bei mir:
Diese Einstellungen müssen in der Datei exim4.conf.template abgelegt werden, wenn Sie die Exim-Konfiguration für eine einzelne Datei verwenden, und nicht in 00_local_macros oder anderen Dateien, wie in vielen Howtos angegeben.
Das Festlegen von DKIM-Signaturen in Exim ist ein Problem (ich habe 3 Tage verbracht), und Exim-Entwickler sollten es beheben.
quelle
Exim version 4.84_2 #2 built 25-Jul-2016 18:59:44
Folgendes hat bei mir funktioniert: Ich war in der genauen Situation, exim4 hat die dkim-Signatur nicht hinzugefügt.
Ich habe die Datei bearbeitet
/etc/exim4/update-exim4.conf.conf
und festgestellt, dass die Konfigurationsdatei selbst bei Verwendung der geteilten Konfiguration falsch war. Daher musste ich diese Zeile ändern:dc_use_split_config='true'
Und dann habe ich die
10_exim4-config_transport-macros
Datei bearbeitet und am Ende die folgenden Zeilen hinzugefügt:Die vorherige Arbeit bestand darin, die private Schlüsseldatei zu generieren und den TXT-DNS-Eintrag usw. hinzuzufügen.
quelle