MTA-STS prüfen

Fragen Sie den TXT-Record unter _mta-sts ab, rufen Sie die Policy-Datei über HTTPS ab und vergleichen Sie deren mx-Muster mit den MX-Hosts, die die Domain tatsächlich veröffentlicht.

Was MTA-STS ist und was dieses Tool prüft

SMTP zwischen Mailservern verschlüsselt opportunistisch: Bietet der empfangende Server kein STARTTLS an oder entfernt jemand auf dem Weg dieses Angebot, geht die Nachricht im Klartext hinaus. Mit MTA-STS (RFC 8461) teilt eine Domain den sendenden Servern mit: „Meine MX-Hosts unterstützen TLS mit einem gültigen Zertifikat; wenn ihr das nicht bekommt, stellt nicht zu.“ Es besteht aus zwei Teilen: einem TXT-Record unter _mta-sts.<domain>, der eine Richtlinie und deren Versionskennung ankündigt, und der Richtlinie selbst, einer kleinen Textdatei unter https://mta-sts.<domain>/.well-known/mta-sts.txt.

OrbitProbe liest den TXT-Record, ruft die Policy-Datei so ab, wie ein sendender Server es tun muss (HTTPS, Zertifikat geprüft, Weiterleitungen werden nicht verfolgt), wertet version, mode, mx und max_age aus und fragt anschließend die MX-Records der Domain ab, um zu sehen, ob jeder MX-Host zu einem der mx-Muster in der Richtlinie passt.

So lesen Sie das Ergebnis

mode: enforce bedeutet, dass Absender, die MTA-STS unterstützen, die Zustellung an einen MX-Host verweigern, bei dem TLS fehlschlägt oder der nicht in der Richtlinie steht. mode: testing stellt trotzdem zu und meldet den Fehler nur; das ist der richtige erste Schritt. mode: none zieht die Richtlinie zurück. max_age gibt in Sekunden an, wie lange ein Absender die Richtlinie im Cache halten darf; eine Woche oder mehr ist üblich, sobald die Richtlinie stabil ist, und der Höchstwert ist 31557600 (etwa ein Jahr).

Der häufigste Fehler in der Praxis ist eine Richtlinie, die nicht mehr zu den MX-Records passt: Die E-Mail wurde zu einem neuen Anbieter umgezogen, die MX-Records wurden geändert, und die Policy-Datei nennt noch die alten Hosts. Im Modus enforce blockiert das die Zustellung von jedem Absender, der MTA-STS beachtet. Deshalb nennt das Tool jeden MX-Host, den kein Muster abdeckt.

Die id im TXT-Record ist nur eine Versionsmarke. Absender rufen die Policy-Datei erneut ab, wenn sich die id ändert. Ändern Sie sie also jedes Mal, wenn Sie die Datei bearbeiten.

Was die Prüfung Ihnen nicht sagen kann

Sie verbindet sich nicht mit Ihren MX-Hosts und testet daher nicht, ob diese wirklich STARTTLS mit einem passenden Zertifikat anbieten. Sie weiß nicht, welche Absender MTA-STS unterstützen. Und eine fehlgeschlagene Abfrage wird als „konnte nicht geprüft werden“ angezeigt, nicht als „kein MTA-STS“: Ein Timeout ist kein Beleg dafür, dass etwas fehlt. Kombinieren Sie MTA-STS mit TLS-RPT, damit Absender Ihnen Fehler melden, bevor Sie auf enforce umstellen.

So verwenden Sie dieses Tool

  1. Domain eingeben. Tippen Sie einen Domainnamen wie example.com ein oder fügen Sie ihn ein. Eine vollständige URL geht auch: Schema, Pfad und ein führendes www werden entfernt.
  2. Prüfung starten. Das Tool liest den TXT-Record unter _mta-sts.<domain>, ruft die Policy-Datei über HTTPS von mta-sts.<domain> ab und fragt die MX-Records ab.
  3. Richtlinie und MX-Hosts vergleichen. Prüfen Sie mode und max_age und stellen Sie sicher, dass jeder MX-Host von einem mx-Muster der Richtlinie abgedeckt ist.

Dasselbe auf der Kommandozeile

Dieselbe Prüfung im Terminal. Die Befehle verwenden example.com: Ersetzen Sie es durch Ihren eigenen Namen.

  • TXT-Recorddig _mta-sts.example.com TXT +short
  • Policy-Dateicurl -s https://mta-sts.example.com/.well-known/mta-sts.txt
  • MX-Hosts zum Vergleichdig example.com MX +short
  • Windowsnslookup -type=TXT _mta-sts.example.com

Häufige Fragen

Wie prüfe ich, ob eine Domain MTA-STS hat?

Geben Sie oben die Domain ein. Das Tool fragt den TXT-Record unter _mta-sts.<domain> ab, ruft https://mta-sts.<domain>/.well-known/mta-sts.txt ab und zeigt beides an, zusammen mit jedem Problem, das es findet.

Wie sieht ein MTA-STS-TXT-Record aus?

v=STSv1; id=20260101T000000. Das Tag v muss an erster Stelle stehen, und id besteht aus bis zu 32 Buchstaben und Ziffern. Ändern Sie die id immer dann, wenn Sie die Policy-Datei ändern.

Soll ich testing oder enforce verwenden?

Beginnen Sie mit testing zusammen mit einem TLS-RPT-Record, lesen Sie die Berichte einige Wochen lang und wechseln Sie zu enforce, sobald sie für Ihre legitimen MX-Hosts keine Fehler mehr zeigen.

Warum meldet das Tool, dass ein MX-Host nicht abgedeckt ist?

Der Hostname in Ihrem MX-Record passt zu keiner mx-Zeile der Richtlinie. Ein Platzhalter wie *.example.com passt auf genau ein Label. Er deckt also mx1.example.com ab, nicht aber a.b.example.com oder example.com selbst.

Braucht die Policy-Datei einen besonderen Webserver?

Sie braucht HTTPS auf dem Host mta-sts.<domain> mit einem Zertifikat, das für diesen Namen gültig ist, eine Antwort 200 ohne Weiterleitungen und den Content-Type text/plain. Das kann jedes statische Hosting leisten.