wake-up-neo.com

Amazon SES (Simple Email Service) für Massen-E-Mails, NICHT für Transaktions-E-Mails?

Der Amazon SES (Simple Email Service) wird als "hoch skalierbarer und kostengünstiger Massen- und Transaktions-E-Mail-Sendedienst" bezeichnet.

Nach allem, was ich sammeln kann, und wenn ich das AWS SDK sowie die SES-Handbücher und die API durchlese, sieht es für Transaktions-E-Mails (d. H. Anwendungs-E-Mails, die auf einmal gesendet werden) gut aus, aber ich kann nichts über Massen-E-Mails finden.

Bezogen auf den Preis möchte/benötigt Amazon eindeutig, dass Kunden sehr große Postmengen versenden.

Wird die Erwartung, dass Sie (als jemand, der Amazon SES implementiert) einzelne Anrufe per E-Mail tätigen, gesendet?

d. h., wenn Sie eine Marketing-E-Mail an 200.000 Empfänger senden, stellen Sie dann wirklich 200.000 Anfragen an SendEmail oder SendRawEmail über Curl (oder was auch immer) oder mithilfe des AWS-SDK?

Das scheint unpraktisch.

22
Josh

In den Dokumenten ist jetzt eindeutig angegeben, dass Sie bis zu 50 Empfänger hinzufügen können pro Nachricht. So können Sie Ihre Absenderliste stapelweise aufteilen. Für 200.000 Empfänger müssten Sie 4.000 API-Aufrufe durchführen. Nicht besonders praktisch für Massenpostsendungen. Ich würde vermuten, dass Amazon seinen Service nicht auf diese spezielle Nutzung ausrichtet.

6
alexfernandez

Vielen Dank, NuclearDog. Nach weiteren Überprüfungen denke ich, besteht die Antwort auf die Frage darin, die API wiederholt x-mal aufzurufen (siehe unten in den SES-FAQ).

Nehmen wir an, wir versenden 200.000 Mailings. Zunächst würde mich sehr interessieren, wie viele "ToAddresses" wir realistisch auf ein Mailing beschränken können. Sobald wir das wissen, können wir möglicherweise mehrere "ToAddresses" gleichzeitig in Gruppen von etwa 100 senden.

Zweitens ist der Inhalt, wie bei den meisten Massen-Mailings, je nach Empfänger leicht unterschiedlich, auch wenn es sich nur um ein "Hallo" -Intro handelt. Angesichts der Tatsache, dass der Mailing-Body zwar ähnlich sein wird, aber eine Personalisierung per E-Mail erhalten wird, gehe ich davon aus, dass die Erwartung darin besteht, die API immer wieder aufzurufen. Ich dachte, es gäbe vielleicht eine Möglichkeit, mehrere E-Mails mit einem Aufruf in die Warteschlange zu stellen und dann zu senden, aber dies ist angesichts der Art der API wahrscheinlich nicht realistisch.

SES soll auf diese Weise mit einem der Amazon AWS-Datenbankprodukte wahrscheinlich etwas skalierbarer werden.

Im Moment müsste ich ein Warteschlangen- oder Nachrichtensystem implementieren, um die API X-Zeiten effizient aufzurufen, damit alle API-Aufrufe 1) nicht den ganzen Tag dauern und 2) unsere Systeme nicht zu stark belasten .

F: Kann ich Amazon SES zum Senden von Massen-E-Mails verwenden? Ja. Rufen Sie einfach die SendEmail- oder SendRawEmail-APIs für jede E-Mail, die Sie senden möchten, wiederholt auf. Software, die auf Amazon EC2, Amazon Elastic MapReduce oder Ihren eigenen Servern ausgeführt wird, kann Massen-E-Mails über Amazon SES auf die für Ihr Unternehmen am besten geeignete Weise erstellen und ausliefern. Wenn Sie bereits über eine eigene Massenmail-Software verfügen, können Sie diese einfach aktualisieren, um sie über Amazon SES zuzustellen. Ändern Sie dazu entweder die Software, um Amazon SES direkt aufzurufen, oder konfigurieren Sie sie neu, um E-Mails über ein Amazon SES-SMTP-Relay zuzustellen, wie oben beschrieben.

4
Josh

Wenn Sie in der API-Referenz nachschauen, sieht es auf jeden Fall so aus, als könnten Sie pro Anfrage an mehr als ein Konto gleichzeitig senden.

SendEmail erfordert ein Argument von 'Destination' vom Typ 'Destination'.

Das Ziel hat drei Eigenschaften: ToAddresses, CCAddresses, BCCAddresses - alle sind vom Typ "Zeichenfolgenliste".

Wenn Sie sich die Beispielanforderungen im Entwicklerhandbuch ansehen, werden Sie feststellen, dass die Zieladressen als Argument angegeben wurden, ähnlich wie:

&Destination.ToAddresses.member.1=allan%40example.com

Ich werde mich auf die Suche nach einer "String-Liste" begeben, bei der mehrere Adressen in einem Format wie dem folgenden erwartet werden:

&Destination.ToAddresses.member.1=allan%40example.com
&Destination.ToAddresses.member.2=other%40example.com
&Destination.ToAddresses.member.3=asdfq%40example.com
...
&Destination.ToAddresses.member.1000=final%40example.com

Tatsächlich bin ich auf Ihre Frage gestoßen und habe nach Antworten auf einige meiner eigenen Fragen zu SES gesucht. Bislang sind die Dokumente zwar vollständig genug, aber nicht immer furchtbar hilfreich. Oft muss man lustige Schlussfolgerungen ziehen, um Antworten zu erhalten Warnung für Sie!

Prost!

Edit: Eine andere Sache, die möglich sein könnte, habe ich aus dem Zitat gezogen, das Sie in Ihrer Selbstantwort gepostet haben:

entweder durch Ändern der Software, um Amazon SES direkt aufzurufen, oder Neukonfigurieren der Software, um E-Mails wie oben beschrieben über ein Amazon SES-SMTP-Relay zuzustellen.

Wenn Sie Ihren eigenen SMTP-Server einrichten und ihn nur über SES weiterleiten lassen, kann dies Ihre Warteschlangen/etc. Sie können nur ein paar Tausend E-Mails verschicken und Ihr SMTP-Server kümmert sich um das Queuing/etc, bevor es auf Amazon landet.

4
NuclearDog

Sie können den Simple Queue Service verwenden, um Massen-E-Mails zu senden.

0
xmarcos