Amazon SES ist der Dienst von AWS für ausgehende E-Mails: günstig und zuverlässig für die Nachrichten, die eine Anwendung verschickt (Bestätigungen, Hinweise, Rechnungen). Aber dass die E-Mail rausgeht, ist nicht das Schwierige; schwierig ist, dass sie im Posteingang ankommt und nicht im Spam. Dafür verlangen Gmail, Outlook und Co. drei Dinge, die im DNS Ihrer Domain nachgewiesen werden: DKIM (eine kryptografische Signatur), SPF (welche Server in Ihrem Namen senden dürfen) und DMARC (was mit allem geschehen soll, was die beiden vorigen nicht erfüllt).
Wenn Ihre Domain in Route 53 liegt, im selben AWS-Konto, kann SES einen guten Teil der Einträge für Sie anlegen. Trotzdem lohnt es sich zu wissen, was dort eingetragen wird und warum.
Bevor Sie anfangen: was die Begriffe bedeuten
- SES
- Simple Email Service, der Dienst von Amazon, über den Ihre Anwendungen E-Mails versenden (Bestätigungen, Hinweise, Rechnungen).
- Route 53
- Der DNS-Dienst von Amazon, also der Ort, an dem verwaltet wird, auf welche Server Ihre Domain zeigt.
- DNS und Einträge
- Das "Telefonbuch" des Internets: Es übersetzt Ihre Domain in Adressen und speichert Konfigurationstexte. Jede Zeile ist ein Eintrag mit einem Namen, einem Typ (TXT, CNAME, MX ...) und einem Wert.
- Domain verifizieren
- Amazon beweisen, dass die Domain Ihnen gehört, indem Sie in deren DNS Einträge setzen, die nur der Inhaber setzen kann.
- DKIM
- Eine digitale Signatur, die SES jeder E-Mail hinzufügt und die der Empfänger mit einem in Ihrem DNS veröffentlichten Schlüssel prüft. Sie beweist, dass die E-Mail nicht verändert wurde und von Ihrer Domain stammt.
- SPF
- Ein Texteintrag in Ihrem DNS, der sagt, welche Server mit Ihrer Domain E-Mails senden dürfen.
- DMARC
- Ein weiterer Texteintrag, der den Empfängern sagt, was mit E-Mails geschehen soll, die DKIM oder SPF nicht bestehen (nichts, Quarantäne oder Ablehnung), und wohin sie Ihnen Berichte schicken sollen.
- Benutzerdefiniertes MAIL FROM
- Eine eigene Subdomain, die SES als technischen Absender verwendet, damit die Prüfungen gegen Ihre Domain laufen und nicht gegen die von Amazon.
- Sandbox
- Der Testmodus, in dem jedes SES-Konto beginnt: Er erlaubt nur den Versand an verifizierte Adressen. Es gibt eine eigene Anleitung, um ihn zu verlassen.
Schritt für Schritt
Wählen Sie die SES-Region
SES arbeitet regionsweise, und verifizierte Identitäten werden nicht zwischen Regionen geteilt. Wählen Sie eine Region nahe bei Ihren Nutzern oder dort, wo Sie den Rest schon haben (zum Beispiel Europa - Irland,
eu-west-1), und bleiben Sie für immer dabei: Die Anwendung muss an diese Region senden.Legen Sie die Domain-Identität an
In der SES-Konsole Identitäten, Identität erstellen, Typ Domain. Geben Sie die Domain ohne "www" ein (
midominio.com). Im Abschnitt DKIM lassen Sie Easy DKIM mit der Schlüssellänge, die SES vorschlägt. Wenn die Domain in diesem Konto in Route 53 liegt, sehen Sie das Kästchen, um die DNS-Einträge automatisch zu veröffentlichen: Kreuzen Sie es an. Erstellen Sie die Identität.SES erzeugt drei CNAME-Einträge der Form
xxxx._domainkey.midominio.com. Mit angekreuztem Kästchen stehen sie schon in Route 53; sonst kopieren Sie sie und legen sie von Hand in der gehosteten Zone an. Die Verifizierung dauert von Minuten bis zu einigen Stunden; die Identität wechselt von selbst auf "Verifiziert".Richten Sie eine benutzerdefinierte MAIL-FROM-Domain ein (für SPF)
Standardmäßig gehen SES-Mails mit einem technischen Absender unter
amazonses.comraus, und genau den prüft SPF. Damit die Prüfung gegen Ihre Domain läuft und DMARC "ausrichten" kann, richten Sie eine benutzerdefinierte MAIL-FROM-Domain ein: innerhalb der Identität, Reiter Benutzerdefinierte MAIL-FROM-Domain, Bearbeiten, und tragen Sie eine Subdomain ein, die Sie für nichts anderes verwenden, zum Beispielcorreo.midominio.com. Wählen Sie, dass SES bei einem MX-Fehler auf den Standardwert von amazonses.com zurückfällt, damit der Versand nicht wegen eines DNS-Fehlers stehen bleibt.SES verlangt zwei Einträge auf dieser Subdomain (auch hier kann Route 53 sie allein setzen):
Name Typ Wert correo.midominio.comMX 10 feedback-smtp.eu-west-1.amazonses.com(ersetzen Sie die Region durch Ihre)correo.midominio.comTXT "v=spf1 include:amazonses.com ~all"Fügen Sie SPF auch auf der Hauptdomain hinzu
Wenn Sie von weiteren Stellen aus E-Mails senden (Ihr Mailserver, ein Newsletter-Anbieter), hat Ihre Root-Domain bereits einen TXT-Eintrag
v=spf1. Fügen Sieinclude:amazonses.comzu genau diesem Eintrag hinzu; legen Sie niemals einen zweiten TXT an, der mit v=spf1 beginnt, denn zwei SPF-Einträge machen beide ungültig. Wenn Sie noch keinen haben, legen Sie ihn in Route 53 an:Nombre: midominio.com Tipo: TXT Valor: "v=spf1 include:amazonses.com ~all"Wenn Sie außerdem Google Workspace oder Microsoft 365 verwenden, enthält der Wert zusätzlich deren jeweiliges
include, durch Leerzeichen getrennt.Veröffentlichen Sie die DMARC-Richtlinie
DMARC ist ein TXT-Eintrag auf der Subdomain
_dmarc. Beginnen Sie im Beobachtungsmodus (p=none), damit niemand Ihre E-Mails ablehnt, während Sie noch nachjustieren, und lassen Sie sich Berichte an eine Adresse schicken, die Sie auch lesen:Nombre: _dmarc.midominio.com Tipo: TXT Valor: "v=DMARC1; p=none; rua=mailto:dmarc@midominio.com"In Route 53: Datensatz erstellen, Name
_dmarc, Typ TXT, Wert in Anführungszeichen. Nach einigen Wochen ohne Überraschungen in den Berichten gehen Sie aufp=quarantineund danach aufp=reject. Gmail und Yahoo verlangen DMARC von allen, die viel E-Mail versenden, also lassen Sie diesen Schritt nicht aus.Prüfen Sie alles und senden Sie eine Testmail
In der SES-Identität muss alles grün sein: Identität verifiziert, DKIM korrekt und MAIL FROM eingerichtet. Senden Sie eine Testmail an ein Gmail-Konto und öffnen Sie "Original anzeigen": Dort muss SPF: PASS, DKIM: PASS und DMARC: PASS stehen. Wenn Sie noch in der SES-Sandbox sind, können Sie nur an verifizierte Adressen senden; die Anleitung zum Verlassen der Sandbox finden Sie in diesem Abschnitt.
Was schiefgehen kann
DKIM steht seit Stunden auf "ausstehend"
Prüfen Sie, dass die drei CNAME genau so eingetragen sind, wie SES sie angegeben hat, ohne dass das DNS-Panel die Domain doppelt angehängt hat (xxx._domainkey.midominio.com.midominio.com ist der typische Fehler außerhalb von Route 53). Und stellen Sie sicher, dass die NS-Server der Domain beim Registrar die der Route-53-Zone sind, die Sie bearbeiten; wird die Domain woanders verwaltet, nützt Route 53 gar nichts.
SPF besteht, aber DMARC scheitert
Es fehlt die Ausrichtung: SPF wurde gegen amazonses.com geprüft, nicht gegen Ihre Domain, weil Sie die benutzerdefinierte MAIL-FROM-Domain nicht eingerichtet haben (Schritt 3). Mit ausgerichtetem DKIM reicht es meist, damit DMARC besteht, aber richten Sie MAIL FROM trotzdem ein.
Die E-Mail landet im Spam, obwohl alles auf PASS steht
Authentifizierung ist notwendig, aber nicht hinreichend. Eine Rolle spielen der Inhalt, ob die Domain neu ist, die Zahl der Bounces und Beschwerden. Beginnen Sie mit kleinem Volumen, entfernen Sie Adressen, die bouncen, und bieten Sie immer eine klare Abmeldemöglichkeit. Und schauen Sie sich die Reputation im SES-Dashboard an.
Meine Domain liegt in einem anderen AWS-Konto
SES kann die Einträge dann nicht allein veröffentlichen. Kopieren Sie sie aus der Identität und legen Sie sie von Hand in der Route-53-Zone des anderen Kontos an. Funktioniert genauso, nur eben von Hand.
In Simplio
In Simplio zeigt der Bildschirm E-Mail (SES) Ihre Domains pro Region und sagt Ihnen, welche Einträge fehlen (DKIM, SPF, DMARC, MAIL FROM), mit dem genauen Wert für jeden. Liegt die Domain in Route 53, setzt er sie per Knopfdruck. Sie sehen außerdem das Kontingent, das Gesendete, den Anteil an Bounces und Beschwerden, und Sie erhalten einen Hinweis, wenn eine Identität nicht mehr verifiziert ist.
Dasselbe, in AWS und in Simplio
| In der AWS-Konsole | In Simplio | |
|---|---|---|
| Wissen, welche Einträge fehlen | SES von Hand mit Route 53 vergleichen, Eintrag für Eintrag | Der Bildschirm E-Mail sagt Ihnen, was fehlt (DKIM, SPF, DMARC, MAIL FROM), mit dem genauen Wert |
| Die Einträge anlegen | Bis zu 7 Einträge in Route 53, mit langen Namen, die sich leicht falsch kopieren: 30 Minuten | Knopf "Einträge setzen", wenn die Domain in Route 53 liegt: 1 Klick |
| Wenn die Verifizierung verloren geht | Niemand warnt, bis der Versand scheitert | Hinweis per E-Mail |