MTA-STS einrichten — Generische Anleitung

Schritt-für-Schritt-Anleitung für jeden DNS-Provider: MX-Records ermitteln, DNS-Records anlegen, Policy-Datei erstellen, HTTPS-Hosting über Cloudflare Pages, GitHub Pages oder eigenen Webserver einrichten — mit vollständiger Verifizierung.

Universell · MTA-STS-Anleitung

MTA-STS providerunabhängig einrichten

Diese Anleitung funktioniert mit jedem DNS-Provider und jedem Webserver. MTA-STS erfordert drei DNS-Records und eine HTTPS-gehostete Policy-Datei. Die Policy muss unter https://mta-sts.ihre-domain.de/.well-known/mta-sts.txt erreichbar sein — mit gültigem TLS-Zertifikat, HTTP-Statuscode 200 und Content-Type text/plain.

MTA-STS (RFC 8461) erzwingt TLS-verschlüsselte E-Mail-Zustellung und verhindert STRIPTLS-Downgrade-Angriffe. Unabhängig von Ihrem Provider benötigen Sie drei Komponenten: den _mta-sts TXT-Record, der MTA-STS aktiviert, die Policy-Datei mit Ihren MX-Hosts und den _smtp._tls TXT-Record für TLS-Reporting. Die mx-Einträge in der Policy müssen exakt mit Ihren DNS-MX-Records übereinstimmen — jede Abweichung führt dazu, dass sendende Server die Policy als ungültig verwerfen. Der Wolf-Agents Email Security Scanner vergleicht Policy-MX und DNS-MX zeichengenau: Er erkennt fehlende MX-Hosts, Tippfehler in Hostnamen, 301/302-Redirects auf der Policy-URL, falsche Content-Types (text/html statt text/plain) und nicht inkrementierte id-Werte nach Policy-Änderungen — provider-unabhängig und ohne weitere Konfiguration.

DSGVO Art. 32 und NIS2 Art. 21 fordern Verschlüsselung nach dem Stand der Technik — providerunabhängig. MTA-STS ist die technische Umsetzung dieser Anforderung für E-Mail-Transport. Wolf-Agents empfiehlt MTA-STS mit mode: enforce als Mindeststandard für alle produktiven Domains.

1 Schritt 1 von 5

MX-Records ermitteln

Bevor Sie MTA-STS konfigurieren, müssen Sie Ihre aktuellen MX-Records kennen. Die MX-Hosts sind die Server, die E-Mails für Ihre Domain entgegennehmen — genau diese Hosts müssen in die Policy-Datei eingetragen werden. Notieren Sie alle MX-Hosts inklusive Priorität, da die Policy jeden einzelnen MX-Host auflisten muss.

Terminal / PowerShell MX-Abfrage
# Linux / macOS — MX-Records abfragen
dig ihre-domain.de MX +short

# Windows (PowerShell)
Resolve-DnsName -Name ihre-domain.de -Type MX | Select-Object NameExchange, Preference

# Beispiel-Ausgabe:
# 10 mx1.ihre-domain.de.
# 20 mx2.ihre-domain.de.

# MX-Hosts notieren — diese müssen exakt in die Policy-Datei

Typische MX-Hosts nach Anbieter

  1. Microsoft 365: *.mail.protection.outlook.com — Wildcard in Policy erlaubt
  2. Google Workspace: *.aspmx.l.google.com und weitere — alle 5 MX-Hosts eintragen
  3. Eigener Mailserver: Ihre individuellen MX-Hosts (z.B. mx1.ihre-domain.de)
  4. Hoster (IONOS, Strato, etc.): Vom Anbieter vorgegebene MX-Hosts — im DNS-Panel nachschlagen
2 Schritt 2 von 5

DNS-Records anlegen

Legen Sie bei Ihrem DNS-Provider drei Records an: den _mta-sts TXT-Record, der MTA-STS aktiviert, den _smtp._tls TXT-Record für TLS-Reporting und einen CNAME- oder A-Record für die mta-sts Subdomain. Die id im MTA-STS-Record muss bei jeder Policy-Änderung aktualisiert werden — nutzen Sie das aktuelle Datum im Format YYYYMMDD. Die Subdomain zeigt entweder per CNAME auf einen Hosting-Dienst oder per A-Record auf Ihren eigenen Server.

DNS-Provider / Terminal DNS-Records
# MTA-STS DNS-Record (bei Ihrem DNS-Provider)
# Host: _mta-sts
# Typ: TXT
# Wert: v=STSv1; id=20260408

# TLS-RPT DNS-Record
# Host: _smtp._tls
# Typ: TXT
# Wert: v=TLSRPTv1; rua=mailto:tls-reports@ihre-domain.de

# Subdomain für Policy-Hosting
# Option A (CNAME → Cloudflare Pages / GitHub Pages):
# Host: mta-sts
# Typ: CNAME
# Ziel: ihr-projekt.pages.dev

# Option B (A-Record → eigener Webserver):
# Host: mta-sts
# Typ: A
# Wert: 203.0.113.10 (IP Ihres Webservers)

# DNS-Records prüfen
dig _mta-sts.ihre-domain.de TXT +short
dig _smtp._tls.ihre-domain.de TXT +short
3 Schritt 3 von 5

Policy-Datei erstellen

Die Policy-Datei definiert, welche MX-Hosts TLS-verschlüsselt erreichbar sein müssen. Ersetzen Sie die Platzhalter-MX-Hosts durch die in Schritt 1 ermittelten Hosts. Beginnen Sie mit mode: testing und max_age: 86400 (24 Stunden) — im Testing-Modus loggen sendende Server TLS-Fehler, blockieren aber keine E-Mails. Nach erfolgreicher Verifikation wechseln Sie auf mode: enforce und max_age: 604800 (7 Tage).

.well-known/mta-sts.txt (Testing) Policy
version: STSv1
mode: testing
mx: mx1.ihre-domain.de
mx: mx2.ihre-domain.de
max_age: 86400
.well-known/mta-sts.txt (Enforce) Policy
version: STSv1
mode: enforce
mx: mx1.ihre-domain.de
mx: mx2.ihre-domain.de
max_age: 604800
4 Schritt 4 von 5

HTTPS-Hosting einrichten

Die Policy-Datei muss unter https://mta-sts.ihre-domain.de/.well-known/mta-sts.txt per HTTPS erreichbar sein — mit gültigem TLS-Zertifikat und Content-Type: text/plain. Sie können einen kostenlosen Hosting-Dienst nutzen oder die Datei auf einem eigenen Webserver bereitstellen. Cloudflare Pages ist die empfohlene Option: kostenlos, automatisches SSL-Zertifikat und globales CDN.

Hosting-Optionen im Vergleich

Dienst Kosten SSL automatisch Anmerkung
Cloudflare Pages Kostenlos Ja Empfohlen, globales CDN
GitHub Pages Kostenlos Ja Custom Domain mit HTTPS
Netlify Kostenlos Ja Einfaches Deployment
Eigener Webserver Server-Kosten Via Let's Encrypt Volle Kontrolle

Einrichtung je nach Hosting-Dienst

  1. Cloudflare Pages: Ordner mit .well-known/mta-sts.txt erstellen, per Direct Upload hochladen, Custom Domain mta-sts.ihre-domain.de verknüpfen. Details in der Cloudflare DNS Anleitung
  2. GitHub Pages: Repository mit der Policy-Datei erstellen, GitHub Pages aktivieren, Custom Domain konfigurieren und Enforce HTTPS aktivieren
  3. Netlify: Ordner per Drag & Drop hochladen, Custom Domain hinzufügen. Netlify stellt automatisch ein Let's-Encrypt-Zertifikat aus
  4. Eigener Webserver (nginx): nginx-vhost für mta-sts.ihre-domain.de mit Let's-Encrypt-Zertifikat konfigurieren, Policy-Datei unter /var/www/mta-sts/.well-known/mta-sts.txt ablegen
5 Schritt 5 von 5

MTA-STS-Konfiguration verifizieren

Prüfen Sie alle Komponenten: DNS-Records, Policy-Datei, Content-Type und MX-Abgleich. Der Wolf-Agents Email Security Scanner validiert automatisch, ob die mx-Einträge in der Policy mit Ihren DNS-MX-Records übereinstimmen. Achten Sie zusätzlich darauf, dass die Policy-URL keinen Redirect zurückgibt — sendende Server folgen Redirects gemäß RFC 8461 nicht.

Terminal / PowerShell Verifikation
# Linux / macOS
dig _mta-sts.ihre-domain.de TXT +short
curl -sI https://mta-sts.ihre-domain.de/.well-known/mta-sts.txt | head -5
curl -s https://mta-sts.ihre-domain.de/.well-known/mta-sts.txt
dig _smtp._tls.ihre-domain.de TXT +short

# Windows (PowerShell)
Resolve-DnsName -Name _mta-sts.ihre-domain.de -Type TXT | Select-Object -ExpandProperty Strings
Invoke-WebRequest -Uri "https://mta-sts.ihre-domain.de/.well-known/mta-sts.txt" | Select-Object -ExpandProperty Content
Resolve-DnsName -Name _smtp._tls.ihre-domain.de -Type TXT | Select-Object -ExpandProperty Strings

# MX-Abgleich prüfen: Policy-MX muss mit DNS-MX übereinstimmen
dig ihre-domain.de MX +short

# Erwartete Ausgaben:
# "v=STSv1; id=20260408"
# Content-Type: text/plain, HTTP/2 200
# version: STSv1 / mode: testing / mx: ... / max_age: 86400
# "v=TLSRPTv1; rua=mailto:tls-reports@ihre-domain.de"

Häufige Probleme bei MTA-STS

Die folgenden drei Probleme treten bei MTA-STS-Konfigurationen providerübergreifend am häufigsten auf. Jedes einzelne kann dazu führen, dass sendende Server die Policy ignorieren oder als ungültig verwerfen.

MX-Hosts in Policy stimmen nicht mit DNS überein

Symptom: TLS-RPT-Reports zeigen sts-policy-invalid als Fehler. Sendende Server laden die Policy, verwerfen sie aber als ungültig.

Ursache: Die mx-Einträge in der Policy-Datei stimmen nicht exakt mit den DNS-MX-Records überein. Typische Fehler: ein MX-Host fehlt, ein Tippfehler im Hostnamen, oder der Provider hat die MX-Konfiguration geändert ohne Benachrichtigung.

Lösung: Prüfen Sie Ihre MX-Records mit dig ihre-domain.de MX +short und vergleichen Sie die Hosts mit der Policy-Datei. Jeder MX-Host braucht eine eigene mx:-Zeile. Der Wolf-Agents Email Security Scanner prüft den MX-Abgleich automatisch.

Policy-URL nicht erreichbar — 404 oder Redirect

Symptom: curl -sI https://mta-sts.ihre-domain.de/.well-known/mta-sts.txt liefert HTTP 404, HTTP 301/302 oder einen Timeout. MTA-STS wird vom sendenden Server nicht angewendet.

Ursache: Die Policy-Datei existiert nicht unter dem exakten Pfad /.well-known/mta-sts.txt, oder der Webserver leitet auf eine andere URL um. RFC 8461 schreibt vor, dass sendende Server Redirects nicht folgen — ein 301 wird wie ein Fehler behandelt.

Lösung: Stellen Sie sicher, dass die Policy direkt unter https://mta-sts.ihre-domain.de/.well-known/mta-sts.txt mit HTTP 200 ausgeliefert wird. Kein Redirect, kein Trailing Slash, kein URL-Rewriting. Prüfen Sie mit curl -sI den HTTP-Statuscode und die Response-Header.

Content-Type nicht text/plain

Symptom: Die Policy-Datei ist erreichbar und der Inhalt korrekt, aber sendende Server verwerfen die Antwort. curl -sI zeigt Content-Type: text/html oder application/octet-stream.

Ursache: Der Webserver liefert die Policy-Datei mit falschem Content-Type aus. Einige Hosting-Dienste erkennen die Dateiendung .txt nicht korrekt, oder eine globale nginx/Apache-Konfiguration überschreibt den MIME-Type.

Lösung: Konfigurieren Sie den Content-Type explizit: bei nginx mit default_type text/plain in der Location-Direktive, bei Apache mit AddType text/plain .txt, bei Cloudflare Pages mit einer _headers-Datei. Prüfen Sie mit curl -sI, dass der Header Content-Type: text/plain zurückkommt.

DSGVO Art. 32, NIS2 und BSI TR-03108: Providerunabhängige Pflicht zur Transport-Verschlüsselung

DSGVO Art. 32 und NIS2 Art. 21 Abs. 2 lit. h fordern Maßnahmen zur Sicherung der Kommunikation nach dem Stand der Technik — unabhängig vom verwendeten Provider. MTA-STS ist die technische Umsetzung dieser Anforderung für E-Mail-Transport: Es erzwingt TLS-Verschlüsselung und verhindert Downgrade-Angriffe. Die BSI TR-03108 empfiehlt MTA-STS explizit als Schutzmaßnahme. Der Wolf-Agents Email Security Scanner bewertet MTA-STS mit bis zu 15 Punkten (10 MTA-STS + 5 TLS-RPT) und zeigt Ihnen den aktuellen Stand Ihrer Konfiguration — unabhängig davon, welchen Provider Sie nutzen.

Hinweis für Mailserver-Betreiber: Diese generische Anleitung beschreibt die eingehende MTA-STS-Verifikation. Wenn Sie selbst einen ausgehenden Mailserver (Postfix, Exim) betreiben, müssen Sie zusätzlich die Outbound-Validierung aktivieren: postfix-mta-sts-resolver wertet MTA-STS-Policies der Empfängerdomains beim Senden aus und erzwingt TLS gegenüber Domains mit mode: enforce. Details siehe MTA-STS für Postfix. Vendor-neutrale Cipher-Härtung pro MX-Host (TLS-Versionen, Cipher-Suiten nach BSI TR-02102-2, Zertifikats-Validierung): SMTP-TLS providerunabhängig.

Wie steht Ihre Domain bei MTA-STS?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 165 Prüfpunkte.