SPF, DKIM & DMARC für Amazon SES.
Amazon SES ist ein "pro-Konto"-Versender: Es gibt keine gemeinsame SPF-Zeile, die Sie in Ihre Root-Domain einfügen, und keinen Domain-Authentifizierungs-Assistenten, der Ihr DNS für Sie verwaltet. Sie verifizieren Ihre Domain und aktivieren Easy DKIM — drei kontospezifische CNAME-Einträge, die SES erzeugt — und weil der Standard-Envelope-Absender von SES auf amazonses.com liegt, fügen Sie optional eine eigene MAIL FROM-Subdomain hinzu, um SPF ebenfalls an Ihrer eigenen Domain auszurichten. Sobald die DKIM-CNAMEs auflösen, signiert SES jede Nachricht mit d=yourdomain.com, sodass DMARC über die DKIM-Ausrichtung besteht, noch bevor Sie SPF überhaupt anfassen.
Warum Amazon SES authentifizieren?
SES stellt Ihnen rohe Versandinfrastruktur mit hoher Zustellbarkeit bereit, veröffentlicht aber bewusst keine Authentifizierung in Ihrem Namen, so wie es ein Mailchimp- oder SendGrid-Assistent tut — diese Last liegt bei Ihnen, und sie zu überspringen ist der Grund, warum SES-Mail so oft im Spam landet. Seit Februar 2024 verlangen Gmail und Yahoo von jedem Massenversender (grob 5.000+ Nachrichten pro Tag), SPF, DKIM und DMARC mit Ausrichtung zu bestehen, und Microsoft begann 2025 damit, nicht konforme Mail abzuweisen. Wenn Sie über SES ohne aktiviertes Easy DKIM versenden, werden Ihre Nachrichten nur mit dem gemeinsamen amazonses.com-Schlüssel signiert, nichts wird an Ihrer Domain ausgerichtet, DMARC schlägt fehl und Ihre Reputation wird mit jedem anderen nicht authentifizierten SES-Mandanten in einen Topf geworfen. Das Aktivieren von Easy DKIM behebt den Kern davon in einem Schritt: SES signiert als d=yourdomain.com, DKIM wird ausgerichtet, DMARC besteht, und die Versandreputation, die Sie aufbauen, kommt Ihrer eigenen Domain zugute. Eine eigene MAIL FROM-Domain legt dann für die Empfänger, die es gewichten, zusätzlich die SPF-Ausrichtung obendrauf.
Die SPF-Realität bei Amazon SES
Amazon SES ist ein pro-Konto-Anbieter, kein "include"-Anbieter — für die meisten gibt es KEIN include:amazonses.com, das Sie zu Ihrem ROOT-SPF-Eintrag hinzufügen müssten, und Sie sollten dort auch keines hinzufügen. Standardmäßig setzt SES das Envelope-MAIL FROM (die Return-Path- / Bounce-Adresse) auf eine Subdomain von amazonses.com. SPF wird daher gegen den eigenen veröffentlichten Eintrag von amazonses.com geprüft und BESTEHT automatisch — aber es besteht für amazonses.com, nicht für Ihre Domain, ist also nicht "ausgerichtet" und bringt für DMARC allein nichts. Das ist so beabsichtigt und in Ordnung, denn Easy DKIM trägt DMARC über die DKIM-Ausrichtung (SES signiert mit d=yourdomain.com). Wenn Sie SPF zusätzlich an Ihrer Domain ausrichten möchten — doppelt hält besser und nützlich, weil manche Empfänger die SPF-Ausrichtung gewichten — richten Sie eine eigene MAIL FROM-Subdomain ein (zum Beispiel mail.yourdomain.com) und veröffentlichen v=spf1 include:amazonses.com ~all sowie einen MX-Eintrag, der auf feedback-smtp.{region}.amazonses.com zeigt. Entscheidend ist: Diese beiden Einträge kommen auf die MAIL FROM-SUBDOMAIN, niemals in Ihr Root-SPF. Ihr Root-SPF bleibt unangetastet, SES fügt ihm null DNS-Lookups hinzu, und include:amazonses.com erscheint ausschließlich auf dieser dedizierten Subdomain.
Zwei Wege zur Einrichtung
Easy DKIM — 3 CNAMEs (empfohlen)
- SES erzeugt ein 2048-Bit-RSA-Schlüsselpaar und Sie veröffentlichen drei CNAME-Tokens, die den Schlüssel an SES zurückdelegieren
- SES hält und rotiert den privaten Schlüssel — nichts, was Sie erzeugen, speichern, sichern oder rotieren müssten
- Das Veröffentlichen der drei CNAMEs verifiziert die Domain-Identität und aktiviert die DKIM-Signierung in einem Schritt
- Funktioniert out of the box mit d=yourdomain.com-Ausrichtung, sodass DMARC über DKIM besteht, ohne SPF-Änderungen
BYODKIM — 1 TXT (eigener Schlüssel)
- Sie erzeugen den RSA-Schlüssel selbst (1024–2048 Bit, PKCS#1 oder PKCS#8, base64/PEM) und veröffentlichen einen selector._domainkey TXT mit dem öffentlichen Schlüssel
- Nützlich, wenn die Richtlinie verlangt, dass Sie die Schlüsselverwahrung selbst innehaben, oder wenn Sie einen Schlüssel über mehrere Anbieter/Regionen wiederverwenden möchten
- Sie sind für Schlüsselspeicherung und -rotation verantwortlich — SES sieht den privaten Schlüssel nie
- Ein einzelner DNS-Eintrag statt drei, aber keine automatische Schlüsselrotation
Schritt für Schritt
- 1
Die Domain-Identität erstellen (oder öffnen)
Öffnen Sie die SES-Konsole unter console.aws.amazon.com/ses und wählen Sie unter Configuration Identities → Create identity → Domain. Geben Sie yourdomain.com ein. Falls die Domain bereits existiert, öffnen Sie sie und verwenden Sie stattdessen den Tab Authentication.
- 2
Easy DKIM bei RSA_2048 belassen
Belassen Sie in den Advanced DKIM settings Identity type = Easy DKIM und DKIM signing key length = RSA_2048_BIT (die Voreinstellung und die stärkere Wahl; RSA_1024_BIT ist nur eine schwächere Legacy-Einstellung). Stellen Sie sicher, dass DKIM signatures = Enabled. Wählen Sie BYODKIM nur, wenn Sie Ihren eigenen Schlüssel bereitstellen müssen.
- 3
(Optional) Eine eigene MAIL FROM-Domain festlegen
Öffnen Sie auf der Identitätsseite den Bereich Custom MAIL FROM domain → Edit → setzen Sie das Häkchen bei "Use a custom MAIL FROM domain" und geben Sie eine dedizierte Subdomain wie mail.yourdomain.com ein (die für nichts anderes verwendet wird). Setzen Sie Behavior on MX failure auf "Use default MAIL FROM domain", während sich das DNS verbreitet.
- 4
Die drei DKIM-CNAME-Einträge hinzufügen
SES zeigt drei Einträge in der Form token1._domainkey → token1.dkim.amazonses.com (token2, token3 analog). Fügen Sie jeden genau wie angezeigt als CNAME hinzu. Deren Veröffentlichung verifiziert die Domain und aktiviert DKIM — für Easy DKIM gibt es kein einzufügendes TXT.
- 5
Die MAIL FROM MX und SPF hinzufügen (nur wenn Sie custom MAIL FROM aktiviert haben)
Fügen Sie auf der MAIL FROM-Subdomain einen MX-Eintrag mit Priorität 10 und dem Wert feedback-smtp.{region}.amazonses.com hinzu (regionsspezifisch, z. B. us-east-1) sowie einen TXT-Eintrag v=spf1 include:amazonses.com ~all. Beide liegen auf mail.yourdomain.com, nicht auf Ihrer Root-Domain.
- 6
Einen DMARC-Eintrag veröffentlichen oder beibehalten
Fügen Sie einen TXT-Eintrag bei _dmarc.yourdomain.com hinzu, der mit v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com beginnt. Behalten Sie genau einen _dmarc-Eintrag für die gesamte Domain — fügen Sie keinen zweiten für SES hinzu.
- 7
Den Cloudflare-Proxy für die CNAMEs deaktivieren
Wenn Ihr DNS bei Cloudflare liegt, setzen Sie jeden DKIM-CNAME auf "DNS only" (graue Wolke). Ein per orangefarbener Wolke geproxter CNAME löst nicht zu *.dkim.amazonses.com auf und die DKIM-Verifizierung bleibt in pending hängen.
- 8
Warten, bis SES die Einträge erkennt
Zurück in der Konsole wechselt der DKIM-Status zu Verified/Successful und, falls Sie eines eingerichtet haben, wechselt der Status des eigenen MAIL FROM zu Success. Die Erkennung dauert meist Minuten, SES lässt jedoch bis zu 72 Stunden zu; SES benachrichtigt Sie per E-Mail, wenn jeweils abgeschlossen ist.
- 9
Produktionszugang anfordern (die Sandbox verlassen)
Neue Konten starten in der SES-Sandbox — Sie können nur an verifizierte Adressen senden, begrenzt auf 200 Nachrichten/Tag und 1/Sekunde. Wählen Sie im Account dashboard Request production access, sonst geht Ihre echte Mail nie hinaus, egal wie perfekt Ihr DNS ist.
- 10
Eine Testnachricht senden und die Header lesen
Senden Sie eine echte Nachricht von einer Adresse auf der Domain und öffnen Sie sie in Gmail → Original anzeigen. Bestätigen Sie DKIM: PASS mit d=yourdomain.com, SPF: PASS und DMARC: PASS.
Einzutragende Einträge
Amazon SES erzeugt die genauen Werte in seinem Einrichtungsassistenten — diese zeigen die Struktur dessen, was Sie bei Ihrem DNS-Anbieter hinzufügen werden.
| Typ | Host | Wert |
|---|---|---|
| CNAME | token1._domainkey | token1.dkim.amazonses.comEasy DKIM-Schlüssel 1 — das Token ist eindeutig für Ihr Konto/Ihre Region und SES rotiert den Schlüssel dahinter |
| CNAME | token2._domainkey | token2.dkim.amazonses.comEasy DKIM-Schlüssel 2 (kontospezifisches Token) |
| CNAME | token3._domainkey | token3.dkim.amazonses.comEasy DKIM-Schlüssel 3 (kontospezifisches Token) |
| MX | feedback-smtp.us-east-1.amazonses.comNur bei custom MAIL FROM — Priorität 10, regionsspezifischer Host; genau ein MX auf dieser Subdomain | |
| TXT | v=spf1 include:amazonses.com ~allNur bei custom MAIL FROM — kommt auf die MAIL FROM-Subdomain, NICHT in Ihr Root-SPF | |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.comIhre DMARC-Richtlinie — eine pro Domain, beginnen Sie bei p=none |
Behalten Sie genau einen SPF-TXT-Eintrag (v=spf1) auf Ihrer Root-Domain — führen Sie jeden Absender darin zusammen. Zwei SPF-Einträge sind bereits an sich ein Fehler.
Das Budget von 10 Lookups
SPF ist auf harte 10 DNS-Lookups begrenzt — wird dieser Wert überschritten, gibt SPF einen permerror zurück und validiert überall nicht mehr. Hier sehen Sie, was die Einrichtung von Amazon SES von diesem Budget verbraucht.
Die empfohlene Einrichtung von Amazon SES fügt 0 Lookups hinzu — alle 10 bleiben frei für die Absender, die tatsächlich ein include benötigen.
DKIM
DKIM ist der tragende Eintrag für SES, und Easy DKIM macht ihn wartungsfrei. Wenn Sie es aktivieren, erzeugt SES ein 2048-Bit-RSA-Schlüsselpaar (RSA_2048 ist die Konsolen-Voreinstellung; 1024-Bit ist nur eine schwächere Legacy-Option) und gibt Ihnen drei Tokens. Sie veröffentlichen diese als CNAMEs — token1._domainkey.yourdomain.com → token1.dkim.amazonses.com, und dasselbe für token2 und token3. Beachten Sie: Die Schlüssellänge ändert nichts an dem, was Sie speichern: Easy DKIM veröffentlicht stets drei kurze CNAMEs, egal ob Sie 1024 oder 2048 wählen, denn der eigentliche öffentliche Schlüssel liegt auf der SES-Seite des CNAME, nicht in Ihrer Zone. Weil dies an SES delegierte CNAMEs sind statt TXT-Einträge, die Sie einfügen, hält SES den privaten Schlüssel und kann die veröffentlichten Schlüssel hinter diesen Selektoren rotieren, ohne dass Sie jemals wieder DNS bearbeiten müssen. Jede Nachricht wird dann mit d=yourdomain.com signiert, und genau das richtet sich für DMARC aus. In der aktuellen SES-Konsole verifiziert diese selbe CNAME-Veröffentlichung zugleich die Domain-Identität (DKIM-basierte Verifizierung), sodass es üblicherweise kein separates _amazonses TXT-Token hinzuzufügen gibt. Zwei Vorbehalte: Bei Cloudflare müssen die CNAMEs DNS-only sein (graue Wolke), und SES-Identitäten sind pro AWS-Region — der Versand aus einer zweiten Region erzeugt eigene drei Tokens, die Sie ebenfalls veröffentlichen müssen. Wenn Sie keine CNAMEs verwenden können, ist BYODKIM die Alternative: Sie erzeugen den Schlüssel und veröffentlichen einen einzelnen selector._domainkey TXT mit dem öffentlichen Schlüssel (und dort erzeugt der 2048-Bit-Schlüssel tatsächlich einen längeren TXT-Wert, den manche DNS-Hoster in mehrere Strings aufteilen), aber dann liegt die Rotation bei Ihnen.
DMARC
DMARC ist ein separater Richtlinien-Eintrag auf Ihrer Root-Domain, nichts, was SES für Sie veröffentlicht. Fügen Sie einen TXT-Eintrag bei _dmarc.yourdomain.com hinzu, der mit v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com beginnt — p=none ist reine Überwachung und beeinträchtigt die Zustellung nicht, während Sie bestätigen, dass SES-Mail ausgerichtet besteht. Die SES-spezifische Feinheit: Weil das Standard-Envelope-MAIL FROM von SES eine Subdomain von amazonses.com ist, besteht SPF, ist aber nicht an Ihrer Domain ausgerichtet, sodass DMARC bei einem Standard-SES-Setup vollständig über die DKIM-Ausrichtung besteht. Das bedeutet, Sie müssen Easy DKIM (oder BYODKIM) aktiviert und verifiziert haben, bevor Sie die Richtlinie verschärfen — bei ausgeschaltetem DKIM schlägt ein SES-Setup mit Standard-MAIL FROM bei DMARC komplett fehl. Sobald Aggregat-Berichte (rua) über ein bis zwei Wochen bestätigen, dass SES eine konsistente, ausgerichtete Quelle ist, wechseln Sie von p=none zu p=quarantine und schließlich zu p=reject. Wenn Sie zusätzlich eine eigene MAIL FROM-Domain einrichten, erhalten Sie obendrein die SPF-Ausrichtung, was Ihnen zwei unabhängige Wege zum Bestehen gibt. Behalten Sie genau einen _dmarc-Eintrag für die gesamte Domain, egal wie viele Versender Sie betreiben — fügen Sie niemals einen zweiten für SES hinzu.
Prüfen, ob es wirklich funktioniert hat
Verlassen Sie sich nicht allein auf die Konsolen-Badges — bestätigen Sie es an einer echten Nachricht. In SES sollte der DKIM-Status der Identität Verified/Successful lauten und, falls Sie eines konfiguriert haben, sollte der Status des eigenen MAIL FROM Success anzeigen. Senden Sie sich dann eine Testnachricht von einer Adresse auf der Domain, öffnen Sie sie in Gmail und wählen Sie ⋮ → Original anzeigen: Sie wollen DKIM: PASS mit d=yourdomain.com (nicht amazonses.com) sehen, plus DMARC: PASS. SPF zeigt PASS für Ihre MAIL FROM-Subdomain, wenn Sie eine eigene eingerichtet haben, oder für amazonses.com, wenn nicht — der amazonses.com-Fall ist zu erwarten und DMARC besteht dennoch, weil DKIM es trägt, also behandeln Sie ihn nicht als Fehler. Lassen Sie Ihre Domain durch den Domain-Health-Check von Qualisend laufen, um zu bestätigen, dass alle drei DKIM-CNAMEs (und die MAIL FROM MX/SPF, falls verwendet) auflösen, und sobald DMARC-Aggregat-Berichte eintreffen, geben Sie einen davon in den DMARC-Report-Analyzer ein — SES sollte als ausgerichtete, bestehende Quelle erscheinen.
Häufige Stolperfallen
- DNS-Einrichtung
SES ist pro Region. Identitäten, die drei DKIM-Tokens und der feedback-smtp MX-Host sind alle auf eine einzige AWS-Region beschränkt. Wenn Sie sowohl aus us-east-1 als auch aus eu-west-1 senden, gibt jede Region ihre eigenen drei DKIM-CNAMEs und ihren eigenen regionalen MX aus — veröffentlichen Sie die Einträge jeder Region, sonst authentifiziert sich Mail aus der nicht konfigurierten Region nicht.
- Abdeckung
Neue Konten starten in der Sandbox. Bis Sie Request production access ausführen, stellt SES nur an verifizierte Empfänger zu, begrenzt auf 200 Nachrichten/Tag und 1/Sekunde — perfektes DNS nützt nichts, wenn Sie noch in der Sandbox sind.
- Abdeckung
Die SPF-Ausrichtung ist opt-in, nicht automatisch. Standardmäßig ist der Envelope eine amazonses.com-Subdomain, sodass SPF besteht, aber nicht ausgerichtet ist und DMARC vollständig auf DKIM reitet. "SPF: amazonses.com" zu sehen ist normal — richten Sie nur dann eine eigene MAIL FROM ein, wenn Sie speziell auch SPF ausgerichtet haben möchten.
- Bricht die Authentifizierung
Fügen Sie niemals include:amazonses.com zu Ihrem ROOT-SPF hinzu. Es gehört ausschließlich auf die custom MAIL FROM-Subdomain. Im Root bewirkt es nichts Nützliches und verbrennt unnötig einen Ihrer 10 SPF-Lookups.
- Abdeckung
Genau ein MX auf der MAIL FROM-Subdomain. SES lässt das custom MAIL FROM-Setup fehlschlagen, wenn diese Subdomain mehr als einen MX-Eintrag hat, verwenden Sie also eine dedizierte Subdomain (mail. oder bounce.), die zu nichts anderem gesendet oder empfangen wird.
- DNS-Einrichtung
Der Cloudflare-Proxy zerstört DKIM. Setzen Sie alle drei CNAMEs auf "DNS only" (graue Wolke); ein per orangefarbener Wolke geproxter CNAME löst nicht zu *.dkim.amazonses.com auf und die Identität bleibt in pending.
- Bricht die Authentifizierung
Host-Verdopplung beim Registrar und abschließende Punkte. Geben Sie nur das Label ein (token1._domainkey, mail), nicht den vollständigen FQDN, falls Ihr Panel die Domain automatisch anhängt; und wo ein Host für den MX-/CNAME-Wert einen FQDN verlangt, verwenden Sie einen abschließenden Punkt, damit feedback-smtp.us-east-1.amazonses.com nicht zu ...amazonses.com.yourdomain.com verstümmelt wird.
- Abdeckung
"Behavior on MX failure = Reject message" ist früh riskant. Während sich das DNS verbreitet (oder falls der MX jemals nicht auflöst), lässt Reject Ihre gesamte Mail zurückprallen — belassen Sie es auf "Use default MAIL FROM domain", bis der Status Success anzeigt.
Erstellen Sie Ihren SPF-Eintrag
Amazon SES benötigt kein SPF-include: auf Ihrer Root-Domain — nutzen Sie den Generator, um für Ihre übrigen Absender einen sauberen Eintrag zusammenzustellen, und halten Sie ihn auf einer einzigen Zeile.
Sending sources
Search for each platform you send email through and tick it.
Search for your email platform above, or .
This domain's own servers
Authorize the domain itself, if it sends mail directly (not through a platform above).
Other senders & IPs
Anything not in the list — another provider's SPF host, or specific IP addresses.
We add the include: prefix — enter the hostname your provider documents.
Policy for everyone else
What receivers should do with mail from any server not listed above (the all mechanism).
No senders yet, so every message would hit the ~all policy. Add the platforms you send through in step 1.
- Publish it as a TXT record at your root domain — host @ (the bare domain), value the full string above.
- Keep only one SPF record per domain. Merge every sending source into this single line — a second TXT record starting v=spf1 makes both invalid.
- Stay at or under 10 DNS lookups. Each include:, a and mx counts, and an include can trigger more lookups inside itself — ip4: and ip6: are free.
Authentication published? The next step is sending to a clean, verified list.
Verify a listAmazon SES SPF — FAQ
Weiterführende Lektüre
Sobald der Eintrag veröffentlicht ist, prüfen Sie mit dem Domain-Health-Check, ob alles korrekt aufgelöst wird, und lesen Sie mit der DMARC-Berichtsanalyse nach, wer in Ihrem Namen versendet. Durchsuchen Sie alle Versandquellen im Generator. Authentifizierung ist allerdings nur die halbe Zustellbarkeit — eine gelistete Absender-IP oder -Domain bringt Sie unabhängig davon, wie sauber Ihr SPF ist, im Spam-Ordner unter, deshalb lohnt es sich, mit Blacklist-Überwachung die Blacklists im Blick zu behalten.
Authentifiziert — jetzt die Liste sauber halten
SPF, DKIM und DMARC zu bestehen bringt Sie in den Posteingang; eine saubere Liste hält Sie dort. Verifizieren Sie Ihre — starten Sie kostenlos mit 100 Credits, ohne Kreditkarte.