alle Anleitungen

// so behebst du es

Amazon SES „Email address is not verified“: Sandbox und Identitäten richtig einrichten

Amazon SES lehnt deine E-Mail ab, weil eine Absender- oder Empfänger-Identität nicht verifiziert ist. Verifiziere Identitäten und verlasse die Sandbox.

Was das bedeutet

Amazon SES (Simple Email Service) hat sich geweigert, deine Nachricht zu senden, weil eine der Adressen darin keine verifizierte Identität in deinem AWS-Konto ist, und zwar in der AWS-Region, die du gerade nutzt. Eine Identität ist eine E-Mail-Adresse oder eine Domain, bei der du nachgewiesen hast, dass sie dir gehört. Über SMTP sieht der Fehler so aus:

554 Message rejected: Email address is not verified. The following identities failed the check in region US-EAST-1: sender@yourdomain.com, customer@example.com

Über die API oder ein SDK kommt er als MessageRejected-Fehler mit demselben Text zurück. Die Liste am Ende sagt dir genau, welche Identitäten durchgefallen sind. Ist sie zu lang, endet sie mit Auslassungspunkten (...).

Warum das passiert

  • Der Absender ist nicht verifiziert. SES sendet nur von Adressen oder Domains, die du verifiziert hast. Das gilt für die From-, Sender- und Return-Path-Adresse (und für FromEmailAddress in der API).
  • Dein Konto ist noch in der Sandbox. Jedes neue SES-Konto startet in der Sandbox. Dort kannst du nur an verifizierte Adressen oder Domains senden oder an den SES-Mailbox-Simulator. Standardmäßig begrenzt dich die Sandbox außerdem auf 200 Nachrichten pro 24 Stunden und 1 Nachricht pro Sekunde.
  • Falsche Region. Verifizierung und Sandbox-Status gelten für jede AWS-Region separat. Eine in eu-west-1 verifizierte Domain ist in us-east-1 unbekannt. Prüfe die Region in deinem SMTP-Endpunkt (email-smtp.eu-west-1.amazonaws.com) oder in deiner SDK-Konfiguration.
  • Ein Tippfehler oder eine andere Adresse. Deine App sendet von noreply@mail.yourdomain.com, du hast yourdomain.com aber nur für eine andere Subdomain verifiziert, oder du hast eine einzelne Adresse verifiziert, die gar nicht verwendet wird.

So prüfst du es

  1. Lies die im Fehler aufgeführten Identitäten. Notiere, ob es um deinen Absender, deinen Empfänger oder beide geht.
  2. Wähle in der SES-Konsole die richtige Region und öffne dann Identities (unter Configuration). Jede Identität muss den Status Verified haben.
  3. Öffne das Account dashboard. Steht dort ein Banner Your Amazon SES account is in the sandbox, müssen auch die Empfänger verifiziert sein. Mit der AWS CLI zeigt aws sesv2 get-account --region us-east-1 den Wert "ProductionAccessEnabled": false, solange du in der Sandbox bist.
  4. Prüfe deine Domain-Einträge mit dem Domain-Scanner von Delivmail: SES verifiziert eine Domain über ihre DKIM-Einträge. Fehlen die DKIM-Einträge, kann die Domain nie Verified werden.

So behebst du es

Verifiziere den Absender

Die ganze Domain zu verifizieren ist besser als einzelne Adressen: Jede Adresse darauf wird nutzbar, und es aktiviert die DKIM-Signatur. Wähle in Identities die Option Create identity, dann Domain, und veröffentliche die drei DKIM-CNAME-Einträge, die SES dir anzeigt. Bleibt der Status auf Pending, sieh dir Amazon SES DKIM-Verifizierung ausstehend oder fehlgeschlagen an. Für eine einzelne Adresse wählst du Email address und klickst auf den Link in der Nachricht, die SES an sie sendet.

Beim Testen in der Sandbox

Verifiziere jeden Testempfänger als E-Mail-Identität oder sende an den Mailbox-Simulator, zum Beispiel success@simulator.amazonses.com. Das ist für die Entwicklung in Ordnung, nicht aber für echte Kunden.

Beantrage Produktionszugang

In der Konsole: Account dashboard, dann View Get set up page, dann Request production access. Wähle Marketing oder Transactional, gib die URL deiner Website an und bestätige, dass du nur an Personen sendest, die deine E-Mails angefordert haben, und dass du Bounces und Beschwerden bearbeitest. Du kannst das auch über die CLI erledigen:

aws sesv2 put-account-details \
  --production-access-enabled \
  --mail-type TRANSACTIONAL \
  --website-url https://yourdomain.com \
  --contact-language EN \
  --region us-east-1

AWS gibt an, innerhalb von 96 Stunden eine erste Antwort zu geben. Erkläre klar, wie sich Leute anmelden, wie du gebouncte Adressen entfernst und wie man sich abmelden kann. Eine verifizierte Domain mit DKIM hilft dem Antrag. Mach das für jede Region, aus der du sendest.

Das Verlassen der Sandbox erhöht die Standardlimits. Stößt du später an eine Sende- oder Tagesgrenze, sieh dir Amazon SES Throttling-Fehler an. Auch in der Produktion musst du weiterhin jede Absender-Identität verifizieren.

Prüfe, ob es behoben ist

Kopiere deine einmalige Testadresse von der Startseite von Delivmail und schick ihr eine Nachricht über SES mit den normalen Einstellungen deiner App. In der Sandbox klappt das nur, wenn du diese Testadresse vorher verifizierst; in der Produktion funktioniert es direkt. Der Bericht sollte zeigen, dass DKIM für deine Domain besteht. Sende dann erneut an den Empfänger, bei dem es fehlgeschlagen ist. Nennt der Fehler immer noch eine Identität, vergleiche ihre Schreibweise und die Region im Fehler mit dem, was die Konsole anzeigt.

Prüfe, ob es behoben ist

DNS-Änderungen können ein paar Minuten bis einige Stunden dauern. Sende danach eine neue Test-E-Mail oder scanne deine Domain erneut.

Ähnliche Anleitungen