Wachstum · Fortgeschritten

Warum E-Mails Ihrer Website im Spam landen: SPF, DKIM und DMARC erklärt

Ein Besucher füllt Ihr Kontaktformular aus, die Website meldet „gesendet“, und nichts kommt an, oder es landet im Spam-Ordner. Meist ist die Website in Ordnung: Der empfangende Mailserver hat schlicht keine Möglichkeit, Ihre E-Mail von einer Fälschung zu unterscheiden. SPF, DKIM und DMARC sind die drei DNS-Einträge, die ihm diesen Nachweis liefern.

7 Min. Lesezeit

Ein quadratischer dunkelblauer Briefkasten an einer Straße unter einem Baum.

Foto: Nilo Velez, gemeinfrei (CC0)

In diesem Ratgeber

Warum ein empfangender Server Ihrer Website misstraut

E-Mail hat keinen eingebauten Nachweis, wer eine Nachricht gesendet hat, und jeder kann eine beliebige Adresse in die Absenderzeile schreiben. Empfangende Server suchen deshalb nach Belegen dafür, dass eine Nachricht wirklich von der Domain stammt, die sie angibt, und wenn sie keine finden, sortieren sie sie als Spam ein oder weisen sie ab. Mails von einer Website sind das klassische Opfer: Sie werden von einem Webserver erzeugt, nicht vom normalen Mailsystem des Unternehmens, auf einer Maschine, für die die Domain nie gebürgt hat.

Die Belege liefern drei DNS-Einträge, die die sendende Domain veröffentlicht. SPF sagt, welche Server Mails für die Domain senden dürfen. DKIM fügt eine Signatur hinzu, die beweist, dass die Nachricht mit einem von der Domain veröffentlichten Schlüssel signiert und nicht verändert wurde. DMARC sagt den Empfängern, was zu tun ist, wenn die ersten beiden Prüfungen scheitern, und bittet sie um Berichte. Geschäftliche Mailanbieter, darunter Microsoft 365 und Google Workspace, prüfen alle drei und behandeln nicht authentifizierte Mails mit Misstrauen, ganz gleich, was im Inhalt steht.

Häufige Symptome bei Website-Mails und ihre übliche Ursache
Symptom Übliche Ursache Abhilfe
Formular meldet „gesendet“, nirgends kommt etwas an Mail wird an ein lokales Postfach auf dem Webserver geleitet oder verworfen Mail-Log des Hostings und Mail-Routing der Domain prüfen
Spam bei einem Anbieter, Posteingang bei einem anderen Kein SPF oder DKIM; Empfänger wenden eigene Schwellen an SPF und DKIM für die sendende Domain veröffentlichen
Lief monatelang, nach einer DNS-Änderung nicht mehr SPF endet jetzt auf -all und vergisst das Relay Das Relay in SPF aufnehmen
Nachrichten werden rundweg abgewiesen Formular sendet „als“ Adresse des Besuchers Von der eigenen Adresse der Website senden, Reply-To an den Besucher
Abgewiesen mit einer DMARC-Meldung Absenderdomain passt nicht zu SPF oder DKIM Eine Absenderadresse auf der Domain verwenden, die SPF und DKIM abdecken

Die Kette von der Absenderdomain bis zum Posteingang

Jede Nachricht trägt zwei Absenderidentitäten. Der Envelope-Absender ist die Adresse, die der sendende Server bei der Zustellung ankündigt und an die Unzustellbarkeitsmeldungen gehen. Der From-Header ist das, was der Leser sieht. SPF prüft die Domain des Envelope-Absenders, DKIM signiert mit einer eigenen Domain, und DMARC prüft, ob mindestens eine dieser Domains zum From-Header passt. Diese Übereinstimmung heißt Alignment, und sie ist der Schritt, von dem die meisten noch nie gehört haben.

SPF: welche Server senden dürfen

SPF ist ein TXT-Eintrag auf der Domain selbst. Er listet die IP-Adressen und eingebundenen Anbieter auf, die Mails für die Domain senden dürfen, und endet mit einer Regel für alle anderen: ~all (als verdächtig behandeln) oder -all (durchfallen lassen). Eine Website, die über das Mail-Relay des Hosting-Anbieters sendet, braucht dieses Relay im Eintrag. Ein Eintrag, der auf -all endet und das Relay vergisst, erzeugt bei jeder Nachricht der Website einen harten Fehler; das passiert oft, wenn die Büro-Mails abgesichert werden und niemand an die Website denkt.

DKIM: eine Signatur auf der Nachricht

DKIM ist ein öffentlicher Schlüssel, veröffentlicht unter selector._domainkey.example.com. Der sendende Server signiert jede Nachricht mit dem passenden privaten Schlüssel; der Empfänger holt den öffentlichen Schlüssel und prüft die Signatur. Wenn Ihre Website über einen Maildienst oder das Hosting-Relay sendet, gibt Ihnen dieser Dienst den Schlüssel zum Veröffentlichen und übernimmt das Signieren.

DMARC: die Richtlinie und die Berichte

DMARC ist ein TXT-Eintrag unter _dmarc.example.com. Er legt eine Richtlinie für Nachrichten fest, die sowohl bei SPF als auch bei DKIM mit Alignment durchfallen: p=none (zustellen und berichten), p=quarantine (Spam-Ordner) oder p=reject. Außerdem nennt er eine Adresse für zusammengefasste Berichte, die die Empfänger täglich senden. Diese Berichte sind die einzige Möglichkeit zu sehen, welche Server in Ihrem Namen Mails senden und ob sie die Prüfungen bestehen. Beginnen Sie mit p=none, lesen Sie die Berichte einige Wochen lang, beheben Sie jeden legitimen Absender, der durchfällt, und gehen Sie dann zu quarantine oder reject über.

Warum das Senden „als Besucher“ alles kaputt macht

Viele Kontaktformular-Plugins setzen die Adresse des Besuchers in die Absenderzeile, damit der Leser einfach auf Antworten klicken kann. Diese Einstellung scheitert heute an allen drei Prüfungen zugleich: Ihr Server steht nicht im SPF-Eintrag der Domain des Besuchers, er hat keinen DKIM-Schlüssel für diese Domain, und die Absenderdomain ist die des Besuchers, sodass Alignment unmöglich ist. Veröffentlicht der Anbieter des Besuchers eine reject- oder quarantine-Richtlinie, wird der Empfänger angewiesen, die Nachricht abzuweisen oder zu verstecken, und Sie sehen die Anfrage nie.

Die richtige Einstellung ist einfach:

  1. Absenderadresse: ein Postfach auf Ihrer eigenen Domain, zum Beispiel website@example.com, das SPF und DKIM abdecken.
  2. Absendername: Der Name des Besuchers ist in Ordnung, er ist nur eine Beschriftung.
  3. Reply-To: die Adresse des Besuchers, damit eine Antwort trotzdem die richtige Person erreicht.
  4. Sendeweg: eine authentifizierte Verbindung zu Ihrem Mailanbieter oder einem Maildienst, kein unauthentifizierter Versand vom Webserver, damit die Nachricht signiert wird und von einem gelisteten Server abgeht.

Prüfen Sie auch, wohin die Nachricht geht. Liegt die Empfängeradresse auf Ihrer eigenen Domain, Ihre Postfächer aber bei einem anderen Anbieter, muss das Hosting-Konto die Mails für die Domain an diesen Anbieter weiterleiten. Steht es stattdessen auf lokaler Zustellung, übergibt der Webserver die Nachricht an ein Postfach auf sich selbst oder an gar nichts, und niemand bekommt eine Fehlermeldung. Kein DNS-Eintrag behebt das.

Ein durchgerechnetes Beispiel für die drei Einträge

Die folgenden Einträge dienen der Veranschaulichung und verwenden die reservierte Domain example.com sowie eine Dokumentations-IP-Adresse. Ersetzen Sie das Include und den Schlüssel durch die Werte, die Ihr Anbieter Ihnen gibt.

Beispielhafte DNS-Einträge für eine Domain, deren Website über ein Mail-Relay sendet
Name des Eintrags Typ Wert Zweck
example.com TXT v=spf1 include:relay.mailprovider.example ip4:203.0.113.10 -all Erlaubt das Relay und einen eigenen Server, alles andere fällt durch
mail._domainkey.example.com TXT v=DKIM1; k=rsa; p=(öffentlicher Schlüssel vom Anbieter) Veröffentlicht den öffentlichen DKIM-Schlüssel unter dem Selector „mail“
_dmarc.example.com TXT v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com Richtlinie für Fehlschläge und Adresse für die Berichte

So liest man es: Das Relay des Mailanbieters ist über sein Include erlaubt, der eigene Server der Website über seine IP-Adresse, und alles andere fällt durch. Die Website signiert mit dem Selector „mail“ und sendet von einer Adresse auf example.com, sodass SPF wie DKIM mit der Absenderdomain übereinstimmen. Zieht die Website später zu einem anderen Hoster um, müssen SPF und der DKIM-Schlüssel noch am selben Tag geändert werden. Zwei Warnungen: Eine Domain darf genau einen SPF-Eintrag haben, ein zweiter macht beide ungültig; und DNS-Änderungen brauchen Zeit, um sich zu verbreiten, testen Sie also Stunden nach dem Veröffentlichen, nicht Sekunden.

Die folgenden Zahlen sind ein Beispiel zur Veranschaulichung dafür, was die Korrektur der Einstellung bei einer Website ändert, die 200 Formularanfragen im Monat erhält. Vorher: 120 im Posteingang, 60 im Spam, 20 abgewiesen (120 + 60 + 20 = 200). Nachher: 196, 3 und 1 (196 + 3 + 1 = 200).

Beispiel zur Veranschaulichung: wo 200 Formular-E-Mails im Monat landen, vor und nach der Korrektur

Prüfen und am Laufen halten

Mail-Authentifizierung ist keine einmalige Aufgabe. Jedes neue sendende System, jeder Hosterwechsel und jede verschärfte Richtlinie kann sie wieder zerstören, und deshalb gehört sie in die regelmäßige Website-Betreuung. Bei einer Website auf Managed Hosting sollten Sendeweg, SPF und DKIM dokumentiert sein, damit eine spätere Änderung sie nicht wieder aufhebt.

  • Senden Sie eine Testanfrage an Postfächer bei Google, bei Microsoft und bei Ihrem eigenen Anbieter und lesen Sie die Ergebnisse von SPF, DKIM und DMARC in den Kopfzeilen der Nachricht
  • Stellen Sie sicher, dass es genau einen SPF-Eintrag gibt und dass er jedes System nennt, das im Namen der Domain sendet, auch das Relay der Website
  • Stellen Sie sicher, dass der von der Website verwendete DKIM-Selector auflösbar ist und die Signatur geprüft werden kann
  • Stellen Sie sicher, dass das Formular von einer Adresse auf Ihrer Domain sendet und Reply-To für den Besucher verwendet
  • Stellen Sie sicher, dass das Hosting-Konto die Mails für Ihre Domain an den Anbieter weiterleitet, bei dem die Postfächer liegen
  • Veröffentlichen Sie DMARC mit p=none und einer Berichtsadresse, lesen Sie die Berichte und verschärfen Sie dann die Richtlinie
  • Schreiben Sie auf, welches System welche Mails sendet und wer das DNS pflegt, und prüfen Sie es nach jedem Wechsel des Hosters oder Mailanbieters

Ein Neubau ist ein guter Moment, all das zu prüfen, denn der Sendeweg ändert sich meist mit dem Hoster. Wenn Ihre Website umzieht oder neu gestaltet wird, setzen Sie die Mail-Einrichtung auf die Checkliste für die Migration und testen Sie sie, bevor die alte Website abgeschaltet wird.

Fragen, die wir oft hören

Wegen des Alignments. Die Domain, die SPF bestanden hat, oder die Domain, die mit DKIM signiert hat, muss zur Domain in der Absenderzeile passen. Ein Formular, das von einer anderen Domain oder von der Adresse des Besuchers sendet, kann kein Alignment erreichen.

Verwenden Sie -all, sobald Sie sicher sind, dass jeder legitime Absender aufgeführt ist. Solange Sie noch Absender entdecken, ist ~all zusammen mit einer DMARC-Richtlinie p=none und ihren Berichten die sicherere Wahl.

Nur zum Teil. Der Versand über einen authentifizierten Maildienst und die Verwendung von Reply-To helfen, aber der Dienst braucht trotzdem SPF- und DKIM-Einträge auf Ihrer Domain, um Vertrauen zu bekommen. Wer Ihr DNS verwaltet, muss sie veröffentlichen.

Oft nicht. Prüfen Sie zuerst, ob das Hosting-Konto die Mails für Ihre Domain lokal zustellt, obwohl Ihre Postfächer woanders liegen, und ob das Mail-Log des Servers zeigt, dass die Nachricht abgeht. Eine Nachricht, die am falschen Ort zugestellt wird, erzeugt keinen Fehler und keinen Eintrag im Spam-Ordner.

Möchten Sie das erledigt haben, ohne es selbst zu tun?

Erzählen Sie uns, woran Sie arbeiten. Innerhalb eines Werktags antwortet Ihnen ein Mensch.