Seitenanfang

Amazon SES Email address is not verified.

Amazon ist bekannt für seinen (teuren) Onlineshop, aber es gibt noch eine weitere (ebenso teure) Seite: Amazon AWS bietet - einfach gesagt - verschiedene "managed services" an. Einer davon nennt sich SES und dient dem Email-Versand. Allerdings sind SES-Fehlermeldungen nicht immer das, was sie zu sein scheinen.

amazon_ses.pngSES steht für "Simple Email Service" und macht nichts weiter als das: Emails zustellen. Ob dieser Dienst die Bezeichnung "Simple" wirklich verdient, überlasse ich jedem selbst.

Dennoch, ein Kunde wünschte eine Testanbindung zu SES, also bekam er sie. Nach einigen Verwirrungen mit der Authentication-Signatur (die meiner Meinung nach zum Mißbrauch einläd, wenn man schnell genug ist), schaffte ich es tatsächlich, Emails abzusetzen.

Beantwortet wurden diese allerdings immer mit der Meldung "Email address is not verified.":

<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
<Error>
<Type>Sender</Type>
<Code>MessageRejected</Code>
<Message>Email address is not verified.</Message>
</Error>
<RequestId>9a5fddf2-aaea-11e3-961e-ef9faf081594</RequestId>
</ErrorResponse>

Dazu muss man wissen, dass Amazon SES jede Absender Email-Adresse (oder Domain) verifiziert haben möchte, bevor diese für den Email-Versand verwendet werden darf. Die Überprüfung erfolgt bei Einzeladressen mittels einer Bestätigungsmail und bei Domains über einen DNS-Eintrag.

Die für meine Tests verwendeten Adressen waren allerdings verifiziert, sogar Testmails über die Amazon AWS-Konsole ließen sich problemlos verschicken.

Erst nach einiger Zeit dämmerte es mir: Amazon AWS basiert auf verschiedenen, voneinander vollkommen autonomen Rechenzentren. So autonom, dass sie sich noch nicht einmal die Einstellungen zu verifizierten Email-Adressen teilen.

Der Kundenaccount war für das Rechenzentrum "US West" in Oregon freigeschaltet, die AWS-Dokumentation geht allerdings vom Datacenter "US East" in Virginia aus. Versucht man jetzt, dem Endpoint email.us-east-1.amazonaws.com eine Email zu übergeben, obwohl die Freigabe nur für email.us-west-2.amazonaws.com gilt, kommt die oben gezeigte Fehlermeldung.

Erklärbar ist die Meldung nur mit etwas mehr SES-Hintergrund: Jeder Account läuft zunächst in der SES-Sandbox: Er darf zwar Emails verschicken, aber nur an verifizierte Email-Adressen. Erst wenn die Schnittstelle erfolgreich benutzt wurde, kann "Production Access" angefordert werden.

Das alles war schon längst erledigt - allerdings für "us-west-2" und nicht "us-east-1". Der dortige SES-Service lief demzufolge immernoch im Sandbox-Mode und lehnte die Empfängeradresse ab, weil sie (natürlich) nicht verifiziert war. Anstatt jedoch eine eindeutige Fehlermeldung wie "wrong datacenter" oder "service not configured for this datacenter" oder vielleicht einfach nur "Destination email address is not verified", kam nur eine Meldung, die einen das Problem zunächst fälschlicherweise bei der Absenderadresse suchen lässt.

Das aktuell verwendete Datecenter wird in der AWS-Konsole oben rechts angezeigt - zwischen dem Benutzername und der Hilfefunktion. Dort steht allerdings nur der Ort (z.B. Oregon), nicht der Name (z.B. us-west-2).

 

Noch keine Kommentare. Schreib was dazu

Schreib was dazu

Die folgenden HTML-Tags sind erlaubt:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>