(DE) DKIM mit Strato SMTP und Cloudflare DNS
Wer seiner Strato-Domain einen externen Nameserver wie etwa Cloudflare zuweist, stößt beim Emailversand an sensiblere Mail Services wie etwa Gmail schnell auf das Problem, dass die versendeten Emails im Spam-Ordner landen, oder komplett abgelehnt werden.
Heute mal auf Deutsch, da Strato ein vornehmlich deutsches Problem ist.
Intro
Wer seiner Strato-Domain einen externen Nameserver wie etwa Cloudflare zuweist, stößt beim Emailversand an sensiblere Mail Services wie etwa Gmail schnell auf das Problem, dass die versendeten Emails im Spam-Ordner landen, oder komplett abgelehnt werden.
Auf einer FAQ-Seite gibt Strato folgendes an:
Für Kunden, die ausschließlich unsere Mail-Server nutzen (per „smtp.strato.de“ versenden), signieren wir bereits seit Jahren alle ausgehenden E-Mails mit DKIM.
Das ist schön und gut, setzt aber leider voraus, dass man den Nameserver von Strato verwendet, da über diesen der für DKIM notwendige TXT-Eintrag im DNS gesetzt wird. Darauf weist auch der Support hin, also müssen wir uns selbst helfen.
Was tun?
Wir haben drei Möglichkeiten, dieses Problem anzugehen:
- Zu einem anderen Anbieter umziehen (besonders auf lange Sicht empfohlen)
- Einen eigenen Mail Service hosten und den DKIM-Eintrag selbst bereitstellen
- Einen CNAME Record mit Weiterleitung auf den TXT-Eintrag bei Strato legen
Im Folgenden soll Lösung 3 näher beschrieben werden.
CNAME Record anlegen
Durch das Anlegen eines CNAME Records, der auf den DKIM TXT Record von Strato verweist, können wir den Eintrag für unsere Domain übernehmen. Diese Möglichkeit besteht, da Strato einen zentralen Mail Service verwendet, der auch das interne System umfasst.
Bei Cloudflare können wir nun also einen DNS-Eintrag mit folgender Konfiguration hinterlegen:
- Typ:
CNAME
- Name:
strato-dkim-0002._domainkey
- Target:
strato-dkim-0002._domainkey.strato.de
Da kein Proxying des Eintrags notwendig ist, wurde der Proxy Status auf DNS only
belassen.
Der DKIM-Eintrag hat in meinem Fall sofort gegriffen und bei mail-tester.com konnte ein Score von 10/10 erreicht werden (SPF und DMARC waren schon vorbereitet).
Credit: user43216 @Cloudflare Community
Bewertung
Der Eintrag bleibt gültig, wenn seitens Strato der Public Key des DKIM-Eintrags rotiert wird, da dieser durch die Weiterleitung per CNAME übernommen wird.
Sollte seitens Strato der Selektor des DKIM-Eintrags (strato-dkim-0002
) verändert werden, muss der CNAME Record manuell angepasst werden. Diesem Risiko lässt sich durch die Überwachung des DKIM-Eintrags bei Strato entgegenwirken.
Überwachen des DKIM-Eintrags
Wir können den Eintrag mittels Skript, das wir etwa als Cronjob regelmäßig starten können, überwachen.
Auf einem Linux-System laden wir dazu dnsutils
herunter, damit wir den DKIM-Eintrag nachschlagen können:
apt-get update
apt-get install dnsutils
Nun können wir den DKIM-Eintrag abfragen:
dig strato-dkim-0002._domainkey.strato.de TXT +short @shades09.rzone.de
Wenn die Ausgabe dieses Befehls nichts zurückgibt, wurde möglicherweise der Selektor erneuert.
Der neue Selektor kann durch das Senden einer Mail über ein Postfach, das an einer Domain unter dem Strato-Nameserver liegt, ermittelt werden. Über ein Tool wie MX Toolbox kann der neue Selektor anhand der Email-Header bestimmt werden.
Details zum Befehl
dig
: Befehl zum Abfragen von DNS-Server-Informationenstrato-dkim-0002
: Selektor des DKIM-Eintrags, ausgegeben von Strato_domainkey
: wir möchten den DomainKey-Eintrag (das DK in DKIM)strato.de
: die Domain des Strato-ServersTXT
: der DKIM-Eintrag ist aus DNS-Sicht ein TXT-Eintrag+short
: verkürzt die Ausgabe auf das Wesentliche@shades09.rzone.de
: Der Strato-Nameserver wird zum Abfragen des Eintrags verwendet, um sicher zu gehen, dass wir keine falschen oder veralteten Informationen erhalten
Soweit der Selektor bei Strato gültig ist, kann die Ausgabe wie folgt aussehen:
"v=DKIM1; k=rsa; p=MIIBI..."
v
ist die DKIM-Versionk
ist der Algorithmus, mit dem der öffentliche Schlüssel erstellt wurdep
ist der öffentliche Schlüssel