Probleme mit dem versenden von Mails bei eigenem Mailserver

Alle paar Tage tut sich wieder die gleiche Frage in den Foren der Serveradmins auf: „Google/Hotmail/Gmx/… nimmt meine Mails nicht an. Warum?“ Und fast immer ist die Antwort die gleiche: Reverse-DNS!

Nehmen wir uns mal eine Testseite vor die prüft ob der Mailserver richtig konfiguriert ist. In unserem Falle der Mailserver für ‚thomaschristlieb.de‘:
http://mxtoolbox.com/SuperTool.aspx?action=smtp%3athomaschristlieb.de&run=toolpage

Wir sehen hier nun 7 Prüfungen und ich erkläre euch alle.

  1. SMTP Transaction Time:
    Der ist einfach. Das ist die Zeit die der Mailserver braucht um eine Mail anzunehmen. Das ist abhängig von der Auslastung des Servers und dessen Hardware.
  2. SMTP Open Relay:
    Auch das ist nicht wirklich kompliziert (aber sehr wichtig!). Hier wird geprüft ob der Mailserver eine Mail an ‚test@example.com‘ annimmt und weiterleitet. Da er aber eigentlich nur für ‚thomaschristlieb.de‘ zuständig ist, sollte er die Mail nicht annehmen. Theoretisch kann er natürlich die Mail weiterleiten. Das sollte er aber nur für seine eigenen (authentifizierten) Benutzer tun. Nicht für irgendjemanden der da gerade vorbeikommt. Ein Fehler in dieser Konfiguration wird „Open Relay“ genannt und ist eine sichere Methode um innerhalb kürzester Zeit auf allen Blacklists der Welt zu landen und keine Mail irgendwo zustellen zu können.
  3. SMTP Connection Time:
    Das ist die Zeit die für den Connect zum Server gebraucht wurde.
  4. SMTP TLS:
    Hier geht es drum ob der Mailserver (auf Aufforderung) angibt verschlüsselt kommunizieren zu können. Das sollte heutzutage eigentlich jeder Mailserver können! (denkt an Snowden und die NSA, niemand will mehr Daten unverschlüsselt verschicken.)

Nun kommen wir zu den letzen dreien. Dafür erkläre ich mal kurz was passiert wenn ihr eine Mail bei Google abliefern wollt:
Euer Mailserver verbindet sich zu Google und teilt diese mit dass er gerne eine Mail abliefern würde. Google hat zu diesem Zeitpunkt einzig und allein die IP Adresse eures Mailservers. Das ist in unserem Fall die 85.13.133.42 – nun nimmt Google diese IP-Adresse und löst dazu den Namen auf. Das nennt man Reverse-DNS. Es gibt nämlich auch für IP-Adressen ein DNS Verzeichnis. (genaugenommen ist es nur die IP-Adresse als Text hinterlegt, umgedreht und die Domain „in-addr.arpa“ angehängt – wobei die technische Umsetzung für uns erstmal nicht relevant sein sollte).

Jedenfalls geht Google nun los und holt sich den Hostnamen zur IP. Da kommt es bei „dd10338.kasserver.com“ raus. Das ist ein FQDN (Fully Qualified Domain Name) mit dem Hostnamen „dd10338“ und der Domain „kasserver.com“.

Im nächsten Schritt geht Google nun hin und löst den Namen „dd10338.kasserver.com“ zu einer IP auf. Es kommt bei „85.13.133.42“ an.

Stimmt also nun der Reverse-DNS zum Hostname und der Hostname zum Reverse-DNS so sind die Punkte „SMTP Reverse DNS Mismatch“ und „SMTP Valid Hostname“ schonmal ok. Wobei „SMTP Valid Hostname“ bedeutet ob es ein FQDN ist und „SMTP Reverse DNS Mismatch“ bedeutet dass der Reverse-Hostname und der Hostname auf die gleiche IP/Hostnamen auflösen.

Bleibt der letzte Punkt „SMTP Banner Check„. Dieser ist nicht so wichtig, aber ein Gimmick. Wenn ich mich mit dem Mailserver verbinde, so möchte ich gerne dass er in seiner Begrüßung „220 dd10338.kasserver.com ESMTP“ den gleichen Hostnamen angibt wie bei den vorherigen beiden Punkten.

So, und jetzt zieht aus in die Welt und prüft alle eure Mailserver nach diesen sieben einfachen Punkten. Dann klappts auch mit Google, Hotmail und Gmx!

Sollten noch Fragen offen sein oder ich hab einen Fehler gemacht -> Kommentare 🙂

Update 1: Der Hostname „dd10338.kasserver.com“ ist übrigens ein Standard(generischer)Hostname von all-inkl wo dieses Blog läuft. So ein standardhostname kann einem schon Punktabzug beim Test auf Spam einbringen. Besser wäre natürlich „mail.thomaschristlieb.de“. Dafür müsste ich aber einen extra Mailserver einrichten für dieses Blog.

Update 2: Den Hostnamen selbst „dd10338.kasserver.com“ müsst ihr im DNS für eure DOMAIN setzen. Also beim Domain-Anbieter. Den Reverse-DNS Eintrag für die IP müsst ihr beim IP-Anbieter setzen. Wenn ihr also die Domain bei Hetzner, den Server aber bei netcup habt, dann setzt ihr den Hostnamen bei Hetzner (Anbieter der Domain) und den Reverse-DNS bei netcup (Anbieter der IP).


Beitrag veröffentlicht

in

,

von

Schlagwörter:

Kommentare

3 Antworten zu „Probleme mit dem versenden von Mails bei eigenem Mailserver“

  1. Erster Schritt sollte sein, im Maillog oder den Bounces nachzuschauen. Dort steht der Grund, warum Mails nicht angenommen werden. Unabhängig davon sind natürlich die obigen Schritte wichtig und richtig.

  2. Sascha

    Hallo
    Das ganze geht aber nur wenn man eine Fixe IP hat, was macht man wenn man eine Dynamische IP Adresse hat?

    1. Thomas

      Dann braucht man eine Möglichkeit den Reverse-DNS Eintrag entsprechend mit einer API für die richtige IP zu setzen. Aber Server haben normalerweise ja auch keine dynamische IP…
      Und wenn du von einem Einwahlbereich der Telekom oder so kommst ist deine IP soweiso bei den meisten Mailservern gesperrt.

Schreibe einen Kommentar zu Thomas Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert