Zum Hauptinhalt springen

ULTIMATIVER RATGEBER: Richten Sie Ihren Server für zuverlässige E-Mail-Zustellung ein. TEIL 2: So verhindern Sie, dass ausgehende E-Mails im Spam landen

· 7 Minuten Lesezeit
Customer Care Engineer

dns-records-configuration-spf-dkim-dmarc-ptr-mx-prevent-email-spam-guide

info

DNS records sind eine Reihe von technischen Parametern einer Domain, die bestimmen, wohin verschiedene Arten von Datenverkehr geleitet werden sollen: Web, E-Mail, FTP usw.

Sie verknüpfen den Domainnamen mit IP-Adressen und anderen Servern, sodass Browser und E-Mail-Systeme wissen, mit welchen sie sich bei der Arbeit mit Ihrer Website oder E-Mail verbinden müssen.

In Teil 1 dieses Leitfadens haben wir die Firewall konfiguriert und die notwendigen Ports für die E-Mail-Zustellung geöffnet. Jetzt, da wir sichergestellt haben, dass Nachrichten von Ihrem Server gesendet werden, müssen wir prüfen, ob die DNS-Einträge korrekt konfiguriert sind. Gmail, Outlook und andere große E-Mail-Dienste überprüfen MX-, SPF-, DKIM-, DMARC- und PTR-Einträge streng, bevor sie Nachrichten in den primären Posteingang zustellen. Korrekte Einträge erhöhen die Wahrscheinlichkeit, dass Nachrichten im Posteingang statt im Spam landen (oder gar nicht zugestellt werden).

In den folgenden Schritten beschreiben wir, wie Sie die aktuellen DNS-Einträge jedes Typs überprüfen und geben Empfehlungen zur korrekten Konfiguration.

warnung

In diesem Teil des Artikels verwenden wir für alle Überprüfungen beispielhaft die Domain example.com, die IPv4-Adresse 1.2.3.4 und die IPv6-Adresse 2001:db8:1:11::1. Bitte ersetzen Sie diese durch den tatsächlichen Namen Ihrer Website und Ihre tatsächlichen IP-Adressen.

Voraussetzungen

Schritt 1. Überprüfen des DNS-Anbieters

Im Kontext dieses Artikels müssen wir mehrfach DNS-Einträge bearbeiten. Dies muss im Control Panel des aktuellen DNS-Anbieters für Ihre Domain geschehen. Um dies korrekt zu tun, müssen Sie genau wissen, wer diese Dienste derzeit anbietet. Andernfalls haben die von Ihnen vorgenommenen Änderungen keine Auswirkungen.

Am häufigsten wird die Rolle des DNS-Anbieters übernommen von:

  • Ihrem Hosting-Anbieter,

  • Ihrem Domain-Registrar oder

  • Ihrem DDoS-Schutzanbieter.

Dies ist jedoch nicht immer der Fall.

Sie können mit dem Befehl whois herausfinden, wer derzeit der DNS-Anbieter für Ihre Domain ist. Beispielsweise überprüfen wir die Domain kodu.cloud:

whois kodu.cloud | grep -i "Name Server" | awk '{print $3}'

Die Ausgabe listet die NS-Server auf:

art.ns.cloudflare.com
isla.ns.cloudflare.com

Das bedeutet, dass in diesem Fall DNS-Einträge im Cloudflare Control Panel bearbeitet werden müssen.

In vielen Fällen können Sie aus dem Domainnamen ableiten, wer der DNS-Anbieter ist. Dies ist jedoch nicht immer der Fall. Zum Beispiel sehen für unseren kostenlosen DNS-Dienst, der allen unseren Kunden zur Verfügung steht, die Namen wie folgt aus:

birman.nameserver.red.
rex.nameserver.red.
korat.nameserver.blue.
toybob.nameserver.blue.

 Kontaktieren Sie in diesem Fall bitte den technischen Support Ihres Hosting-Anbieters, um weitere Klärungen zu erhalten.

Nachdem Sie Ihren DNS-Anbieter eindeutig identifiziert haben, melden Sie sich bei dessen Control Panel an und gehen Sie zu dem Abschnitt zur Bearbeitung von DNS-Einträgen für Ihre Domain. Die meisten der unten beschriebenen Änderungen werden dort vorgenommen. Da alle Benutzeroberflächen unterschiedlich sind, ist es unmöglich, eine universelle Schritt-für-Schritt-Anleitung bereitzustellen.

Wenn Sie in dieser Phase auf Schwierigkeiten stoßen, wenden Sie sich an den technischen Support.

warnung

Nach der Änderung der DNS-Einträge kann die Cache-Propagation von 20 Minuten bis zu 24 Stunden dauern. Unter Berücksichtigung der Zeit, die große E-Mail-Dienste für die Aktualisierung Ihrer Reputation benötigen, wird für eine stabile E-Mail-Zustellung empfohlen, etwa 48 Stunden zu warten, obwohl sich die Situation häufiger nach 2–3 Stunden normalisiert.

Schritt 2. Überprüfung auf IPv6

Für die korrekte Konfiguration müssen wir genau wissen, ob der Server eine IPv6-Adresse hat. Um dies herauszufinden, führen Sie den Befehl aus:

ip a | grep inet6

Wenn die Ausgabe ungefähr wie folgt aussieht:

inet6 ::1/128 scope host noprefixroute
inet6 2001:db8:1:11::1/120 scope global
inet6 fe80::1/64 scope link

dann hat Ihr Server eine IPv6-Adresse. Sie wird in der Zeile angezeigt, die mit scope global endet, bis zum Zeichen /.

Notieren Sie die IPv6-Adresse Ihres Servers, damit Sie sie später verwenden können.

Wenn die Ausgabe leer ist oder nur eine einzige Zeile der Form enthält:

inet6 fe80::1c2:3dff:fe4a:5b6c/64 scope link

dann hat Ihr Server kein IPv6. Verwenden Sie in allen folgenden Schritten bitte kein IPv6.

DNS-Eintragskonfiguration

Schritt 3. Überprüfung des MX-Eintrags

Der MX-Eintrag (Mail Exchanger) gibt an, an wen eingehende E-Mails für die Domain zugestellt werden sollen. Sie können ihn mit dem Befehl überprüfen:

dig MX example.com +short

Beispiel für eine korrekte Ausgabe:

10 mail.example.com.

Wenn die Ausgabe einen falschen Wert anzeigt, bearbeiten Sie den DNS-Eintrag im Control Panel Ihres DNS-Anbieters:

  • Typ: MX
  • Name: @
  • Adresse: mail.example.com
  • Priorität: 10

Wenn der Eintrag fehlt, erhalten Sie eine leere Ausgabe:

~ dig MX badexample.com +short
~

Erstellen Sie in diesem Fall einen DNS-Eintrag nach dem obigen Beispiel.

Beachten Sie auch, dass es mehrere MX-Einträge geben kann. In diesem Fall wird die E-Mail zuerst an den Server mit dem kleineren numerischen Prioritätswert gesendet (z. B. hat 10 eine höhere Priorität als 20).

Wenn der primäre Server nicht verfügbar ist, erfolgt die Zustellung an den nächsten Server in der Reihenfolge der Priorität.

Schritt 4. Überprüfung von A- und AAAA-Einträgen

Stellen Sie als Nächstes sicher, dass mail.example.com und example.com tatsächlich auf den Server zeigen, von dem E-Mails gesendet werden:

dig A example.com +short
dig A mail.example.com +short
dig AAAA example.com +short
dig AAAA mail.example.com +short

Die IP-Adressen in der Ausgabe dieser Befehle müssen mit den tatsächlichen IPv4- und IPv6-Adressen Ihres Servers übereinstimmen. Wenn sie abweichen oder wenn solche Einträge fehlen, bearbeiten oder erstellen Sie sie im Control Panel Ihres DNS-Anbieters:

  1. example.com (A):
  • Typ: A
  • Name: @
  • Adresse: 1.2.3.4
  1. example.com (AAAA):
  • Typ: AAAA
  • Name: @
  • Adresse: 2001:db8:1:11::1
  1. mail.example.com (A):
  • Typ: A
  • Name: mail
  • Adresse: 1.2.3.4
  1. mail.example.com (AAAA):
  • Typ: AAAA
  • Name: mail
  • Adresse: 2001:db8:1:11::1

Schritt 5. Überprüfung des SPF-Eintrags

SPF legt fest, welche Server berechtigt sind, E-Mails im Namen der Domain zu senden.

Überprüfung des Eintrags:

dig TXT example.com +short

Beispiel für einen korrekten SPF-Eintrag:

example.com. TXT "v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all"

Es ist äußerst wichtig, dass die Domain nur einen SPF-Eintrag hat. Mehrere Einträge können zu einem Validierungsfehler führen.

Wenn die IP-Adresse von der Ihres aktuellen Servers abweicht oder wenn ein solcher Eintrag fehlt, bearbeiten oder erstellen Sie ihn im Control Panel Ihres DNS-Anbieters:

Wenn IPv6 vorhanden ist:

  • Typ: TXT
  • Name: @
  • Wert: v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all

Wenn kein IPv6 vorhanden ist:

  • Typ: TXT
  • Name: @
  • Wert: v=spf1 ip4:1.2.3.4 a mx ~all

Der SPF-Eintrag hat viele zusätzliche Optionen, aber diese Konfiguration reicht für den korrekten E-Mail-Versand aus.

Schritt 6. Überprüfung des DKIM-Eintrags

DKIM ist eine digitale Signatur einer E-Mail, die bestätigt, dass sie von der angegebenen Domain gesendet wurde und nicht gefälscht wurde. Ein TXT-DNS-Eintrag mit einem öffentlichen Schlüssel wird zur Überprüfung der Signatur verwendet: Zuerst wird die Signatur auf dem Server erstellt, und dann wird der Schlüssel in DNS veröffentlicht.

Es gibt verschiedene Möglichkeiten, eine DKIM-Signatur für Ihre E-Mail-Domain zu erhalten, aber im Rahmen dieses Artikels betrachten wir die einfachste Option – die Verwendung von FASTPANEL. In FASTPANEL wird standardmäßig eine DKIM-Signatur für E-Mail-Domains erstellt.

tipp

FASTPANEL ist äußerst praktisch für die Arbeit mit einem Mailserver: Sie müssen nichts manuell konfigurieren oder installieren. Out-of-the-box erhalten Sie einen konfigurierten Mailserver für die vollwertige Arbeit mit ein- und ausgehender Post sowie einen praktischen Webmail-Client.

Daher müssen Sie nur noch den öffentlichen Schlüssel kopieren und ihn zum entsprechenden DNS-Eintrag hinzufügen. Gehen Sie dazu im Panel zu „Verwaltung“ → „E-Mail“ und klicken Sie auf die Schaltfläche „DKIM“ am Ende der Zeile mit dem Namen Ihrer E-Mail-Domain:

dns-records-configuration-spf-dkim-dmarc-ptr-mx-prevent-email-spam-guide

Kopieren Sie dann den öffentlichen Schlüssel:

dns-records-configuration-spf-dkim-dmarc-ptr-mx-prevent-email-spam-guide

Erstellen Sie auf der Seite Ihres DNS-Anbieters den folgenden DNS-Eintrag:

  • Typ: TXT
  • Name: dkim._domainkey
  • Wert: der zuvor kopierte Schlüssel

Wenn ein solcher Eintrag bereits existiert, ist es besser, den Schlüsselwert trotzdem zu ersetzen, um sicherzugehen, dass er aktuell ist.

Es kann mehrere DKIM-Einträge geben, aber in diesem Fall müssen sie unterschiedliche Namen haben. Zum Beispiel verursachen gleichzeitige Einträge mit den Namen dkim._domainkey und mail._domainkey keine Probleme.

Nach der Konfiguration und Aktualisierung des DNS-Caches können Sie die Anwesenheit des DKIM-Eintrags mit dem Befehl überprüfen:

dig TXT dkim._domainkey.example.com +short

Schritt 7. Überprüfung des DMARC-Eintrags

DMARC legt die Regeln für die Behandlung von Nachrichten fest, die SPF oder DKIM nicht bestehen.

Überprüfung des Eintrags:

dig TXT _dmarc.example.com +short

Beispielausgabe:

"v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s"

Der DMARC-Eintrag hat viele zusätzliche Optionen, aber für gängige Szenarien reicht es aus, einen Eintrag der folgenden Form hinzuzufügen:

  • Typ: TXT
  • Name: _dmarc
  • Wert: v=DMARC1; p=reject

Schritt 8. Überprüfung der sendmail_path-Variable (optional)

Dieser Schritt ist sehr nützlich, wenn Sie Nachrichten direkt von Ihrer Website senden (z. B. über Kontaktformulare oder bei der Bestellung). Um sicherzustellen, dass alle notwendigen DNS-Einträge für solche Nachrichten berücksichtigt werden, setzen Sie den folgenden Wert für die Variable sendmail_path in den PHP-Einstellungen Ihrer Website:

/usr/sbin/sendmail -t -i -f "[email protected]"

Zum Beispiel können Sie dies in FASTPANEL in der Website-Karte im Abschnitt „PHP-Einstellungen“ tun.

Hostname- und PTR-Konfiguration

Ein PTR-Eintrag (oder rDNS) ist ein Reverse-DNS-Eintrag, der eine IP-Adresse mit einem Domainnamen verknüpft.

Der Hostname des Servers ist einfach der Name, mit dem der Server im Netzwerk identifiziert werden kann.

Wenn der PTR nicht mit dem Hostnamen des Servers übereinstimmt, landen Nachrichten mit ziemlicher Sicherheit im Spam.

Als Best Practice sollten Sie mail.example.com für beide Werte festlegen (denken Sie daran, dass dieser Wert immer durch den tatsächlichen Namen Ihrer Domain ersetzt werden muss).

Schritt 9. Hostname

Um den aktuellen Hostnamen Ihres Servers herauszufinden, führen Sie den folgenden Befehl aus:

hostname

Um ihn zu ändern, führen Sie aus:

sudo hostnamectl set-hostname mail.example.com

Führen Sie dann erneut den Befehl hostname aus, um sicherzustellen, dass alles korrekt ist.

Schritt 10. PTR

Die Situation mit dem PTR-Eintrag ist etwas anders: Er kann nur vom Inhaber der IP-Adresse geändert werden, d. h. von Ihrem Hosting-Anbieter. Mehr über die Gründe dafür erfahren Sie in diesem Artikel.

Einige Hosting-Anbieter erlauben Ihnen die Bearbeitung des PTR-Eintrags in Ihrem persönlichen Konto. Sie können versuchen, dies dort selbst zu tun. Wenn das nicht funktioniert, wenden Sie sich an den technischen Support und bitten Sie ihn, den folgenden Wert als PTR-Eintrag festzulegen:

mail.example.com

Denken Sie daran, dass dieser Wert immer durch den tatsächlichen Namen Ihrer Domain ersetzt werden muss.

Änderungen werden normalerweise sofort angewendet; es ist in diesem Fall keine Wartezeit auf DNS-Cache-Aktualisierungen erforderlich. Sie können den aktuellen PTR-Eintrag mit dem Befehl überprüfen:

dig -x 1.2.3.4 +short

Abschließende Überprüfung

Wenn Sie diesen Abschnitt erreicht haben, herzlichen Glückwunsch – Sie sind auf der Zielgeraden. Nun bleibt nur noch zu überprüfen, ob alles korrekt konfiguriert ist und ob Nachrichten von Ihrem Server mit hoher Sicherheit im Posteingang jedes Empfängers landen. Stellen Sie vorab sicher, dass Sie auf die Aktualisierung des DNS-Caches gewartet haben. Es ist am besten, mindestens 1–2 Stunden nach den letzten Änderungen an den DNS-Einträgen zu warten.

Es gibt viele Drittanbieterdienste für solche Überprüfungen. Sie können jeden davon nutzen. In diesem Artikel verwenden wir den Dienst mail-tester.com.

Um die Überprüfung durchzuführen, besuchen Sie diese Website und kopieren Sie den Namen des Testpostfachs:

dns-records-configuration-spf-dkim-dmarc-ptr-mx-prevent-email-spam-guide

Senden Sie eine Nachricht an diese Adresse von einem beliebigen Postfach Ihrer Domain und klicken Sie auf die Schaltfläche „Dann Punktzahl prüfen“. Vergessen Sie nicht, einen Betreff anzugeben und etwas in den Nachrichtentext zu schreiben.

Danach zeigt der Dienst die Ergebnisse der Überprüfung von DKIM, SPF, DMARC, dem Vorhandensein eines PTR-Eintrags und einer Gesamt-„Reputationspunktzahl“ für die Nachricht an, sowie ob Ihr Server in SPAM-Blacklists aufgeführt ist.

Wenn Sie alle Schritte in diesem Artikel sorgfältig und konsequent befolgt haben, wird das Ergebnis 10/10 sein. Wenn es niedriger ist, studieren Sie die Empfehlungen von Mail-Tester. Dort wird detailliert erklärt, was das Problem ist und wie es behoben werden kann.

Zusätzlich können Sie überprüfen, ob Ihr Server in SPAM-Blacklists aufgeführt ist, indem Sie einen weiteren ausgezeichneten Dienst nutzen:

 https://mxtoolbox.com/blacklists.aspx

Wenn eine der Überprüfungen ergibt, dass die IP-Adresse Ihres Servers in einer der Listen gelandet ist, wenden Sie sich an Ihren Hosting-Anbieter, damit er bei der Lösung des Problems helfen kann.

Damit ist die Konfiguration abgeschlossen. Wenn Sie keine Zeit für eigene Recherchen aufwenden möchten oder auf Probleme gestoßen sind, können Sie sich jederzeit an den technischen Support von kodu.cloud wenden. Wir führen alle hier beschriebenen Schritte für unsere Kunden jederzeit kostenlos und so schnell wie möglich durch.