Amazon Simple Email Service

Amazon Simple Email Service

Mails sicher und ohne Spam-Verdacht zu verschicken, ist das, was das Amazon Simple Email Service (SES) auf einfache Art und Weise gewährleisten soll.

In meiner Erfahrungsreise durch die Amazon Web Services ist das aufsetzen von SES nun mein nächster Schritt. Als Praxisbeispiel soll wieder der eXperinox Chat Anwendung finden. Ziel: Log-Files des Chat täglich an zu verschicken.

Manuelles aufsetzen ohne SES

Ein funktionierendes Mail System aus der Cloud heraus so aufzusetzen, dass man seine Mails über einen externen Mail Provider wie all-inkl.com verschicken kann, ist aufgrund von Spam-Regeln nicht trivial zu konfigurieren. Das kann ich aus persönlicher Erfahrung bestätigen, denn ohne Änderungen in der für Anfänger nicht einfach zu verstehenden Konfiguration von sendmail, funktioniert das nicht. Die Mails werden abgewiesen und erreichen ihren Adressaten nicht.

Das Amazon Simple Email Service (SES) verspricht hier Abhilfe. Na das sehen wir uns dann doch einfach einmal an.

Simple Email Service (SES)- der Einstieg

Wer etwas Zeit mitbringt und Englisch beherrscht, dem will ich die Einsteiger-Videos zu SES ans Herz legen. Sie vermitteln recht anschaulich, was die Simple Email Services bieten. Achtung: zumindest zu jenem Zeitpunkt (Ende März 2016), als ich mir die Videos angesehen habe, waren diese nicht 100% aktuell. Will heißen: das aktuelle Dashboard sah stellenweise etwas anders aus, als im Video gezeigt. Und auch etwas nervig / die Geduld strapazierend: die einzelnen Vorträge überlappen sich doch sehr stark und man hört einiges doppelt und dreifach. Aber dazu ist dieser Blog-Artikel da – genau das soll er dem Leser ersparen 🙂 .

Neben einer möglichst einfachen Konfiguration soll auch die Verfolgung der Emails sehr einfach sein. Das SES ist ebenso wie Amazon EC2 über das Amazon Web Services (AWS) Dashboard erreichbar.

Domain oder Emailadresse verifizieren

Alles beginnt mit dem Verifizieren der eigenen Domain oder von eigenen Email-Adressen. Das Verifizieren der Domain bietet den Vorteil, dass damit sämtliche Mail-Adressen für diese Domain als gültig angesehen werden.

Email Adresse verifzieren

Für den Anfang ist es einfacher, nur eine Mail-Adresse zu verifizieren. Dazu einfach SES unter den Amazon Services auswählen und „Verify a New Email Address“ anklicken.

Amazon Simple Email Service (SES) - Email verifizieren
Amazon Simple Email Service (SES) – Email verifizieren

Kurz darauf bekommt man ein Mail, in welchem man aufgefordert wird, die Verifizierung der Adresse für SES zu bestätigen. Ein beherzter Klick darauf und schon hat man die erste Email-Adresse zum Versenden von Mails aus der Cloud bestätigt.

Eine einzelne Adresse ist also im Handumdrehen für den Versand verifiziert!

Domain Adresse verifizieren

Um eine komplette Domain als gültige SES-Domain zu registrieren, muss man SES unter den Amazon Services auswählen und „Verify a New Domain“ anklicken. Nach der Eingabe der Domain kommt ein Dialog, der darauf hinweist, dass nun eine „Pending Verification“ vorliegt und weitere Schritte notwendig sind, um die Domain als gültige Domain zu akzeptieren.

Dazu wurde ein sogenanntes TXT record erstellt, welches zu den Domain Settings hinzugefügt werden muss.

Amazon Simple Email Service (SES) - Domain verifizieren
Amazon Simple Email Service (SES) – Domain verifizieren

Erst wenn Amazon feststellt, dass das entsprechende TXT record im DNS Eintrag der Domain gefunden werden kann, ist die Domain verifiziert.

Für meinen Provider all-inkl.com gibt es eine eigene Anleitung, wie man ein solches TXT record ergänzen kann. Wie das für andere Provider funktioniert und ob man überhaupt DNS Records anlegen darf, muss leider jeder für seinen Provider selber prüfen.

Nachdem ich als Name für den TXT Record den kompletten Namen des erstellten CSV-Files angegeben habe, kam ein Warnung, ob ich wirklich einen TXT record für eine Subdomain anlegen will. Falls nicht, sollte ich nur _amazonses als Name angeben. Das habe ich entsprechend korrigiert und war dann direkt etwas aufgeregt, ob das alles nach Wunsch klappt. Kann laut all-inkl ca. 3-4 Stunden dauern, laut SES Doku bis zu 72 Stunden.

Nach knapp einer halben Stunde vermeldet Amazon SES per Email die erfolgreiche Verifizierung der Domain. Cool!

Eine Verifizierung muss man für jede Region in der Cloud extra vornehmen. Und auch jede Subdomain muss extra verifiziert werden, wenn man Mails über eine Subdomain verschicken will.

Der Sandkasten

Nach dem Bestätigen der Mailadresse darf man erst einmal nur spielen. Bis zu 200 Testmails darf man kostenlos vom Dashboard heraus verschicken.

Das hat aber einige Einschränkungen: man kann mehr oder weniger nur sich selbst Mails schicken. Also sowohl die From als auch die To Adresse müssen verifizierte Adressen sein. In der Sandbox geht es nur darum, grundsätzlich zu testen, ob das Mail ankommt. Was es in meinem Fall einwandfrei tut.

Schluss mit Sand spielen!

Funktioniert das Verschicken der Mail an sich selbst, kann man eine Freigabe für das „Production Environment“ anfordern.

Unter „Sending Statistics“ kann man das durch das Ausfüllen des Formulares nach klicken auf „Request a Sending Limit Increase“ bewerkstelligen. Da wollen sie einiges von uns wissen, zum Beispiel muss man begründen, warum man die Limits erhöhen will. Dieser zusätzliche Schritt ist eine reine Sicherheitsmaßnahme. Amazon will sicher gehen, dass man wirklich der ist, für dem man sich ausgibt.

Damit wird ein Ticket bei Amazon angelegt und man wird über dessen Bearbeitungsstatus informiert.

Und schon 35 Minuten später ist der „Production Status“ bestätigt!

„Congratulations! After reviewing your case, we have increased your sending quota to 50,000 messages per day and your maximum send rate to 14 messages per second in AWS Region EU (Ireland). Your account has also been moved out of the sandbox, so you no longer need to verify recipient addresses.“

Mails aus EC2 verschicken

Nun heißt es, sich schlau machen, wie man nun aus der EC2 Instanz heraus über SES Mails verschicken kann.

Und genau darüber werde ich im nächsten Amazon Web Services Blog-Artikel berichten!

Kosten

Wer sich abschließend fragt, was das alles kostet: im Rahmen des kostenlosen Testaccounts bis zu einem Gigabyte ausgehendem Datenverkehr pro Monat nichts, was für unsere Tests locker reichen sollte 🙂 .

Auch nach dem kostenlosen ersten Jahr für EC2 kann man Amazon SES kostenlos für 2000 Emails (ohne Anhang) pro Tag verwenden, wenn man sie von einer EC2 Instanz aus verschickt.

Wichtig: Mails, die man über das SES Dashboard verschickt verursachen sofort Kosten!

Details dazu sind unter Preise zu finden.

2 Gedanken zu „Amazon Simple Email Service“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.