Zum Hauptinhalt springen

Checkliste für erfolgreiches Senden und die Überprüfung der E-Mail-Zustellung

Für weitere Prüfungen wird die folgende Software benötigt:

  • Das Dienstprogramm host

    • Debian/Ubuntu: apt-get install bind9-host
    • CentOS: yum install bind9-host
  • Das Dienstprogramm telnet

    • Debian/Ubuntu: apt-get install telnet
    • CentOS: yum install telnet

MX-Eintrag

Ein MX-Eintrag ist ein Typ von DNS-Eintrag, der dazu dient, Mailserver zu registrieren, die das SMTP-Protokoll verwenden. Dieser Eintrag ist dafür verantwortlich, den Server zu bestimmen, an den eine E-Mail durch den Mail-Agenten des Absenders zugestellt werden muss. Für eine Domain kann es mehrere Eintragstypen mit unterschiedlichen Prioritäten geben.

Mit dem Befehl host können Sie prüfen, ob die E-Mail lokal funktioniert oder einen Mailserver eines Drittanbieters verwendet:

host -t MX example.com

Bei Verwendung des lokalen Mailservers wird eine Ausgabe wie folgt angezeigt:

example.com-Mail wird von 10 mail.example.com verarbeitet.

Es ist erwähnenswert, dass der Eintrag mail.example.com auch auf einen anderen Server verweisen kann. Außerdem ist zu beachten, dass mail.example.com ein vorhandener A-Eintrag sein muss, der auf den Server verweist, von dem Sie E-Mails senden.

Sie können zur Prüfung auch diese Befehle ausführen:

host example.com
host mail.example.com

Und die IP-Adressen vergleichen, auf die die primäre Domain, in diesem Fall example.com, und mail.example.com verweisen.

wichtig

Ein MX-Eintrag muss gesetzt sein, damit Mailserver Ihre E-Mails empfangen können.

Beispiel für einen MX-Eintrag:

Name: example.com.
Typ: MX
Wert: mail.example.com.
Priorität: 10

DKIM-Signatur

Mit Hilfe von FASTPANEL® kann die DKIM-Signatur im Verwaltungsmenü → Bereich „Mail“ abgerufen werden, indem vor der gewünschten Mail-Domain auf „DKIM“ geklickt wird

DKIM in FASTPANEL aktivieren

Auf der DNS-Seite muss der Eintrag wie folgt hinzugefügt werden:

Name: dkim._domainkey
Typ: TXT
Wert: v=DKIM1; k=rsa; p=public_key

Hier ist ein Beispiel für den korrekten DKIM-Eintrag

dkim._domainkey TXT v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpbBQ0T2xO3/SwziunIC/IFbsxBRub6WXiu8Kc2w7uB4GVw+SAB5wSEslDJbFXQRbdV9i/Duu8EQ9xik8dbqdLVyP4iAtw34g4j6QWKcfocgK4hEkwlPFff1dzUlNQONh2riNE5KVJXuWcizm8hub7nPnl36e7OnxiL0qIU7tT1QIDAQAB

Weitere Informationen zu DKIM finden Sie unter https://wikipedia.org/wiki/DomainKeys_Identified_Mail

SPF-Eintrag

Das Vorhandensein eines SPF-Eintrags kann durch Ausführen des Befehls host überprüft werden. In diesem Fall sieht der Befehl wie folgt aus:

host -t TXT example.com

Mit einer Ausgabe wie:

example.com Beschreibungstext "v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all"

Beachten Sie, dass ipv6 in diesem Eintrag möglicherweise nicht vorhanden ist. In diesem Fall sieht die SPF-Signatur wie folgt aus:

example.com Beschreibungstext "v=spf1 ip4:ipv4_of_your_server a mx ~all"

Hinweis

Es ist zu beachten, dass es nur einen SFP-Eintrag geben darf

Auf der DNS-Seite sollte der Eintrag wie folgt hinzugefügt werden:

Name: example.com.
Type: TXT
Value:
v=spf1 ip4:ipv4_of_your_server ip6:ipv6_of_your_server a mx ~all
oder (wenn ipv6 nicht verwendet wird)
v=spf1 ip4:ipv4_of_your_server a mx ~all

Zum Beispiel:

example.com TXT v=spf1 ip4:1.2.3.4 a mx ~all

Weitere Informationen zu SPF finden Sie unter https://wikipedia.org/wiki/Sender_Policy_Framework

DMARC-Eintrag

In den meisten Fällen ist der Wert des DMARC-Eintrags derselbe.

Auf der DNS-Seite muss der Eintrag wie folgt hinzugefügt werden:

Name: _dmarc
Typ: TXT
Wert: v=DMARC1; p=none

Zum Beispiel:

_dmarc.example.com. TXT v=DMARC1; p=none

Weitere Informationen zu DMARC finden Sie unter https://wikipedia.org/wiki/DMARC

PTR-Eintrag und Hostname des Servers

Der PTR-Eintrag ist ein umgekehrter DNS-Eintrag, der eine IP-Adresse in einen Namen umwandelt. Der Hauptzweck dieses Eintrags für den Mailserver besteht darin, den Großteil des Spam zu eliminieren. Dieser Eintrag ermöglicht es, den Namen eines Hosts zu bestimmen, von dem eine E-Mail stammt. Am häufigsten enthält ein PTR-Eintrag einen auf dem Server verwendeten Domainnamen.

Ein PTR-Eintrag verknüpft eine IP-Adresse mit einem Hostnamen. Wenn der PTR-Eintrag nicht korrekt angegeben ist, werden Ihre E-Mails abgewiesen und erreichen den Empfänger nicht.

Der Hostname sollte als Name der tatsächlichen Domain angegeben werden, die auf den Server verweist, und der PTR sollte auf die Domain verweisen, die wiederum auf den Server zeigt.

Zum Beispiel haben Sie die Domain example.com auf Ihrem Server.

Durch Ausführen des Befehls:

host example.com

können Sie die Ausgabe erhalten:

example.com hat die Adresse 1.2.3.4
example.com-Mail wird von 10 mail.example.com verarbeitet.

Um mögliche Probleme zu vermeiden, wird empfohlen, den Hostnamen und den PTR-Eintrag als vorhandene Subdomain der zweiten Ebene festzulegen, zum Beispiel mail.example.com

Verfügbarkeit von SMTP-Ports

Einige Hosting-Anbieter blockieren die Möglichkeit, Ports zu verwenden, die zum Senden oder Empfangen von E-Mails genutzt werden. Ports für Mail-Dienste können 25, 587, 465, 143 und 993 sein.

Eine der einfachsten Möglichkeiten, die Verfügbarkeit dieser Ports zu prüfen, ist die Verwendung des Befehls telnet.

So prüfen Sie eine eingehende Verbindung von einem Server eines Drittanbieters

Führen Sie den Befehl aus:

telnet ip_adress port

Wenn Sie beispielsweise versuchen, sich per telnet mit Port 25 auf 1.2.3.4 zu verbinden, lautet der auszuführende Befehl:

telnet 1.2.3.4 25

Wenn die Verbindung erfolgreich ist, sehen Sie eine Ausgabe wie:

Versuche 1.2.3.4...
Verbunden mit 1.2.3.4.
Escape-Zeichen ist '^]'.

Wenn die Verbindung fehlschlägt, sieht die Ausgabe wie folgt aus:

Verbinde mit 1.2.3.4 ...
Verbindung zum Host auf Port some_port konnte nicht geöffnet werden: Verbindung fehlgeschlagen

Oder:

telnet: Verbindung zum Remote-Host nicht möglich: Zeitüberschreitung der Verbindung

Für eine ausgehende Verbindung

Führen Sie von Ihrem Server aus den Befehl aus:

telnet smtp.gmail.com 25

Wenn die Verbindung erfolgreich ist, sehen Sie eine Ausgabe wie:

Versuche 2a00:1450:4010:c0b::6c...
Verbunden mit smtp.gmail.com.
Escape-Zeichen ist '^]'.
220 smtp.gmail.com ESMTP j6-20020ac25506000000b004b53eb60e3csm1066162lfk.256 - gsmtp

Bitte beachten Sie, dass Ihr Hosting-Anbieter bei Verwendung von Cloud-Hosting und Port 25 für Ihren SMTP-Server ausgehende Verbindungen auf Port 25 standardmäßig möglicherweise blockiert. Nachfolgend finden Sie Links mit Anleitungen, wie Sie dieses Problem lösen können:

Zusätzlich zur Portblockierung durch Ihren Hosting-Anbieter müssen Sie prüfen, ob die Ports auf Ihrem Server geschlossen sind oder nicht. Nehmen wir als Beispiel iptables, das in der FASTPANEL-Systemsteuerung als Firewall fungiert. Der Befehl, um zu prüfen, ob es eine Regel für einen bestimmten Port gibt, in diesem Fall 25, lautet:

iptables-save | grep 25

Wenn Sie keine Regel für den zu prüfenden Port haben, werden keine Informationen ausgegeben. Wenn Sie sehen, dass es eine Regel gibt, die den Port des Mail-Dienstes blockiert, müssen Sie diese Regel mit dem folgenden Befehl entfernen:

iptables -D rule chain

Wenn Sie beispielsweise einen Befehl ausgeführt haben und Folgendes gefunden haben:

iptables-save | grep 25

-A INPUT -p tcp -m tcp --dport 25 -j DROP

Diese Regel erlaubt keinen Zugriff auf Ihren Server über Port 25, was den E-Mail-Versand verhindert

Zum Entfernen der Regel verwenden Sie den Befehl:

iptables -D INPUT -p tcp -m tcp --dport 25 -j DROP

Dieses Befehlsbeispiel ermöglicht es Ihnen, jeden für den E-Mail-Versand verwendeten Port zu prüfen

Einfluss von IPv6 auf den E-Mail-Versand

Wenn Sie ipv6 für Ihre Mail-Dienste verwenden müssen, sollten Sie als Erstes prüfen, ob es einen PTR-Eintrag für ipv6 gibt und ob die Mail-Dienste auf bestimmten Ports auf ipv6 lauschen.

Sie können die Prüfung mit dem folgenden Befehl durchführen:

netstat -nltpp | grep tcp6

Das Ergebnis der Ausgabe dieses Befehls ist eine Liste aller Dienste, die ipv6 verwenden; darunter können Sie bereits prüfen, ob Ihr Mail-Dienst diese Adresse verwendet. Leider funktioniert die Verwendung von ipv6 heutzutage möglicherweise nicht korrekt, selbst wenn Sie alle Einstellungen korrekt vorgenommen haben.

Wenn Sie durch die Prüfung der Protokolle des Mail-Dienstes festgestellt haben, dass der Fehler mit ipv6 zusammenhängt und die gesamte Konfiguration korrekt ist, können Sie die Verwendung von ipv6 für den Mail-Dienst deaktivieren.

Am Beispiel von exim4 sieht die Deaktivierung von ipv6 wie folgt aus:

  1. Prüfen Sie mit dem Befehl, ob die ipv6-Adresse für den Dienst verwendet wird

    netstat -nltp | grep exim

    Prüfen, ob die ipv6-Adresse von exim verwendet wird

  2. In der Konfigurationsdatei /etc/exim4/exim4.conf.template muss ganz oben in der Datei die folgende Zeile hinzugefügt werden:

    disable_ipv6=true

  3. Speichern Sie die Änderungen in der Datei und starten Sie dann den Dienst mit einem Befehl wie diesem neu:

    systemctl restart exim4
  4. Führen Sie den Befehl aus:

    netstat -nltp | grep exim

    um zu prüfen, ob der Dienst nicht mehr in der Liste enthalten ist

    Prüfen, ob ipv6 für exim deaktiviert ist

Prüfen des E-Mail-Versands mit Diensten von Drittanbietern

Nachdem Sie alle oben genannten Punkte geprüft haben, können Sie den E-Mail-Versand von Ihrem Server mithilfe von Ressourcen von Drittanbietern prüfen.

Einer der bequemsten und informativsten Dienste ist https://www.mail-tester.com

Damit können Sie die aktuelle Bewertung Ihrer E-Mail prüfen, Informationen darüber erhalten, ob die oben genannten Daten korrekt sind oder nicht, sowie eine Empfehlung zur Verbesserung der Bewertung erhalten.

Senden Sie dazu einfach eine E-Mail an die auf der Website angegebene Adresse und klicken Sie dann auf „Then check your score“.

Testen Sie Ihre E-Mail mit mail-tester