Sie benötigen ein AWS-Konto und Zugriff auf das DNS Ihrer Domain. SES ist mit weitem Abstand die günstigste Option auf dieser Liste und diejenige mit den meisten Schritten.
Amazons eigene Dokumentation: Verifying a domain · Obtaining SMTP credentials · Moving out of the sandbox
⭐ Wir verbinden uns über die SMTP-Schnittstelle mit SES, nicht über die REST-API. Aus diesem Grund werden Sie nach einem SMTP-Benutzernamen und -Passwort gefragt und nicht nach einem AWS-Zugriffsschlüssel. Beide Wege übermitteln exakt dieselbe Nachricht; die SMTP-Variante vermeidet jedoch eine ganze Kategorie von Problemen bei der AWS-Anfragesignierung, die von außen extrem schwer zu diagnostizieren sind, und sie ist genau die Schnittstelle, für die Amazon Zugangsdaten bereitstellt, damit Tools wie das unsere sie nutzen können.
1. Wählen Sie eine Region und bleiben Sie dabei
SES ist regional. Alles Nachfolgende – Ihre verifizierte Domain, Ihre Zugangsdaten, Ihr Sendekontingent – gehört zu einer AWS-Region und existiert in keiner anderen.
Wählen Sie die Region, die Ihren Kunden am nächsten liegt (eu-west-1 für Europa, us-east-1 für Nordamerika), und notieren Sie sich diese. Die Verifizierung Ihrer Domain in Irland und die anschließende Erstellung von Zugangsdaten in Frankfurt ist der häufigste Weg, hier einen ganzen Nachmittag zu verlieren, und die resultierende Fehlermeldung erwähnt mit keinem Wort Regionen.
2. Verifizieren Sie Ihre Domain
Amazon SES-Konsole → Identities → Create identity → Domain. Geben Sie eine Subdomain wie mail.yourdomain.com ein.
Aktivieren Sie Easy DKIM und wählen Sie RSA_2048_BIT. SES stellt Ihnen drei CNAME-Einträge bereit:
| Typ | Host |
|---|
CNAME | <token1>._domainkey.mail.yourdomain.com |
CNAME | <token2>._domainkey.mail.yourdomain.com |
CNAME | <token3>._domainkey.mail.yourdomain.com |
Fügen Sie alle drei hinzu. Die Verifizierung ist in der Regel innerhalb einer Stunde abgeschlossen.
⭐ Aktivieren Sie außerdem eine benutzerdefinierte MAIL FROM-Domain (bounce.mail.yourdomain.com) und hinterlegen Sie die angeforderten MX- und SPF-TXT-Einträge. Ohne diese lautet Ihr Envelope Sender amazonses.com, sodass SPF auf Amazon statt auf Sie abgestimmt ist und Sie sich ausschließlich auf DKIM verlassen.
3. Verlassen Sie die Sandbox – das ist der Schritt, den viele übersehen
⛔⛔ Ein neues SES-Konto befindet sich in einer Sandbox und kann nur an Adressen senden, die Sie zuvor separat verifiziert haben. Es akzeptiert alle anderen E-Mails, stellt jedoch keine davon zu.
Genau das ist der Fehler, den unser Verifizierungsschritt abfangen soll: In der Sandbox nimmt SES Ihre Nachricht mit einer völlig normalen Erfolgsmeldung an und verwirft sie anschließend. Wenn Sie unsere Einrichtung verifizieren, indem Sie den Test an eine Adresse senden, die Sie zufällig in AWS verifiziert haben, funktioniert es – und danach verschwindet jede Nachricht an einen echten Kunden im Nichts.
Account-Dashboard → Request production access. Amazon fragt, was Sie versenden und wie Sie mit Bounces umgehen; ein paar ehrliche Sätze über transaktionale Benachrichtigungen an Ihre eigenen Kunden werden normalerweise innerhalb von 24 Stunden genehmigt.
⭐ Tun Sie dies, bevor Sie SES hier anbinden. Danach gibt es nichts mehr zu debuggen, da nichts fehlschlägt.
4. SMTP-Zugangsdaten erstellen
SES-Konsole → SMTP settings → Create SMTP credentials.
Dadurch wird ein IAM-Benutzer mit reinen Senderechten erstellt und Sie erhalten einen SMTP-Benutzernamen sowie ein SMTP-Passwort.
⛔ Dies sind nicht Ihre AWS-Zugriffsschlüssel und -Geheimnisse. Sie werden nach einem bestimmten Algorithmus aus einem IAM-Secret abgeleitet und sind nicht austauschbar. Das Einfügen eines geheimen AWS-Zugriffsschlüssels führt hier jedes Mal zu einem Authentifizierungsfehler, und die Fehlermeldung besagt lediglich, dass die Anmeldedaten abgelehnt wurden.
⚠️ Das Passwort wird nur einmal angezeigt. Laden Sie die CSV-Datei herunter, bevor Sie die Seite verlassen.
5. In Zinn® verbinden
Öffnen Sie E-Mail-Versand in Ihrem Dashboard:
- Anbieter — Amazon SES
- Von dieser Domain senden —
mail.yourdomain.com
- AWS-Region — die Region aus Schritt 1, z. B.
eu-west-1
- SMTP-Benutzername — aus Schritt 4
- Port — auf 587 belassen
- SES-SMTP-Passwort — aus Schritt 4
Wir erstellen den Host automatisch für Sie (email-smtp.<region>.amazonaws.com), sodass Sie sich beim Hostnamen nicht verschreiben können.
6. Testnachricht senden und Code eingeben
Klicken Sie auf Testnachricht senden an einen Posteingang auf einer anderen Domain, die Sie nicht in AWS verifiziert haben – eine persönliche Gmail-Adresse ist ideal, da genau dies beweist, dass Sie die Sandbox verlassen haben. Lesen Sie den Code ab und geben Sie ihn ein.
Wenn es nicht funktioniert
„Email address is not verified“ beim Senden an einen echten Kunden – Sie befinden sich immer noch in der Sandbox. Siehe Schritt 3.
535 Authentication Credentials Invalid – Sie haben Ihren AWS-Zugriffsschlüssel anstelle der SMTP-Zugangsdaten verwendet (Schritt 4), oder die Zugangsdaten gehören zu einer anderen Region als der von Ihnen eingegebenen.
„Maximum sending rate exceeded“ – ein neues Produktionskonto startet bei 14 Nachrichten pro Sekunde und 50.000 pro Tag. Das sind sehr viele Benachrichtigungen; wenn Sie jedoch einen großen Kundenstamm migrieren, fordern Sie vorher eine Erhöhung an.
Es hat beim Testen funktioniert, aber in der Produktion nicht mehr – überprüfen Sie das Reputation-Dashboard von SES. Amazon pausiert den Versand automatisch, sobald eine Bounce- oder Beschwerderate den Schwellenwert überschreitet, und das passiert bei einem alten Kundenstamm sehr schnell.