Verwenden von Vorlagen zum Senden einer personalisierten E-Mail mit der Amazon-SES-API - Amazon Simple Email Service

Verwenden von Vorlagen zum Senden einer personalisierten E-Mail mit der Amazon-SES-API

Sie können den CreateTemplate-API-Vorgang verwenden, um E-Mail-Vorlagen zu erstellen. Diese Vorlagen enthalten eine Betreffzeile und die Text- und HTML-Teile des E-Mail-Textes. Die Betreff- und Textabschnitte können auch eindeutige Werte enthalten, die für jeden Empfänger persönlich angepasst sind.

Es gibt einige Beschränkungen und andere Überlegungen bei der Verwendung dieser Funktionen:

  • Sie können bis zu 10.000 E-Mail-Vorlagen pro Amazon-SES-Konto erstellen.

  • Jede Vorlage kann bis zu 500 KB groß sein, einschließlich Text- und HTML-Teile.

  • Sie können eine unbegrenzte Anzahl an Ersetzungsvariablen in jede Vorlage einschließen.

  • Sie können bei jedem Aufruf der SendBulkTemplatedEmail-Operation E-Mails an bis zu 50 Zieladressen senden. Eine Zieladresse umfasst eine Liste der Empfänger sowie CC- und BCC-Empfänger. Die Anzahl der Zieladressen, die Sie in einem einzigen Aufruf der API kontaktieren können, kann auf die maximale Senderate Ihres Kontos beschränkt sein. Weitere Informationen finden Sie unter Verwalten Ihrer Amazon SES Versandkontingente.

Dieser Abschnitt enthält Verfahren zum Erstellen von E-Mail-Vorlagen und zum Senden von personalisierten E-Mails.

Anmerkung

Bei diesen Verfahren wird vorausgesetzt, dass Sie die AWS CLI bereits installiert und konfiguriert haben. Weitere Informationen zum Installieren und Konfigurieren der AWS CLI finden Sie im AWS Command Line Interface-Benutzerhandbuch.

Teil 1: Einrichten von Benachrichtigungen über Rendering-Fehlerereignisse

Wenn Sie eine E-Mail versenden, die ungültige Personalisierungsinhalte enthält, akzeptiert Amazon SES die Nachricht möglicherweise, kann sie jedoch nicht zustellen. Wenn Sie vorhaben, eine personalisierte E-Mail zu versenden, sollten Sie aus diesem Grund Amazon SES so konfigurieren, dass über Amazon SNS Benachrichtigungen über Rendering-Fehlerereignisse gesendet werden. Wenn Sie eine Benachrichtigung über ein Rendering-Fehlerereignis erhalten, können Sie feststellen, welche Nachricht den ungültigen Inhalt enthalten hat, die Probleme beheben und die Nachricht erneut senden.

Das Verfahren in diesem Abschnitt ist optional, wird aber dringend empfohlen.

So konfigurieren Sie Benachrichtigungen über Rendering-Fehlerereignisse
  1. Erstellen Sie ein Amazon-SNS-Thema. Anweisungen finden Sie unter Erstellen eines Themas im Amazon-Simple-Notification-Service-Entwicklerhandbuch.

  2. Abonnieren Sie das Amazon-SNS-Thema. Beispiel: Wenn Sie Rendering-Fehlerbenachrichtigungen per E-Mail empfangen möchten, abonnieren Sie einen E-Mail-Endpunkt für das Thema.

    Anweisungen finden Sie unter Abonnieren eines Themas im Amazon Simple-Notification-Service-Entwicklerhandbuch.

  3. Führen Sie das Verfahren unter Einrichten eines Amazon SNS-Ereignisziels für die Ereignisveröffentlichung durch, um Ihre Konfigurationssätze zum Veröffentlichen von Rendering-Fehlerereignissen in Ihrem Amazon-SNS-Thema zu erstellen.

Teil 2: Erstellen einer E-Mail-Vorlage

In diesem Abschnitt verwenden Sie die API-Operation CreateTemplate, um eine neue E-Mail-Vorlage mit Personalisierungsattributen zu erstellen.

Bei diesem Verfahren wird vorausgesetzt, dass Sie die AWS CLI bereits installiert und konfiguriert haben. Weitere Informationen zum Installieren und Konfigurieren der AWS CLI finden Sie im AWS Command Line Interface-Benutzerhandbuch.

So erstellen Sie die Vorlage
  1. Erstellen Sie in einem Texteditor eine neue Datei. Fügen Sie folgenden Code in die Datei ein.

    { "Template": { "TemplateName": "MyTemplate", "SubjectPart": "Greetings, {{name}}!", "HtmlPart": "<h1>Hello {{name}},</h1><p>Your favorite animal is {{favoriteanimal}}.</p>", "TextPart": "Dear {{name}},\r\nYour favorite animal is {{favoriteanimal}}." } }

    Dieser Code enthält die folgenden Eigenschaften:

    • TemplateName – Der Name der Vorlage. Beim Senden der E-Mail-Adresse beziehen Sie sich auf diesen Namen.

    • SubjectPart – Die Betreffzeile der E-Mail. Diese Eigenschaft kann Ersatz-Tags enthalten. Diese Tags verwenden das folgende Format: {{tagname}}. Wenn Sie die E-Mail senden, können Sie einen Wert für tagname für jede Zieladresse angeben.

      Das vorherige Beispiel umfasst zwei Tags: {{name}} und {{favoriteanimal}}.

    • HtmlPart – Der HTML-Text der E-Mail. Diese Eigenschaft kann Ersatz-Tags enthalten.

    • TextPart – Der Textkörper der E-Mail. Empfänger, deren E-Mail-Clients keine HTML-E-Mails anzeigen, sehen diese Version der E-Mail. Diese Eigenschaft kann Ersatz-Tags enthalten.

  2. Passen Sie das vorherige Beispiel an Ihre Bedürfnisse an und speichern Sie dann die Datei als mytemplate.json.

  3. Geben Sie in der Befehlszeile den folgenden Befehl ein, um mit der folgenden CreateTemplate-API-Operation eine neue Vorlage zu erstellen:

    aws ses create-template --cli-input-json file://mytemplate.json

Teil 3: Senden der personalisierten E-Mail

Nach dem Erstellen einer E-Mail-Vorlage können Sie mit ihr eine E-Mail senden. Es gibt zwei API-Operationen, die Sie verwenden können, um E-Mails mit Vorlagen zu senden: SendTemplatedEmail und SendBulkTemplatedEmail. Die SendTemplatedEmail-Operation ist hilfreich für das Senden einer angepassten E-Mail an eine einzelne Zieladresse (eine Sammlung von „To“-, „CC“- und „BCC“-Empfängern, die dieselbe E-Mail erhalten). Der SendBulkTemplatedEmail-Vorgang ist nützlich, um eindeutige E-Mails in einem einzigen Aufruf der Amazon-SES-API an mehrere Ziele zu senden. Dieser Abschnitt zeigt Beispiele, wie die AWS CLI zum Senden von E-Mail mithilfe dieser beiden Operationen verwendet wird.

Senden von E-Mail-Vorlagen an eine einzelne Zieladresse

Verwenden Sie die SendTemplatedEmail-Operation, um eine E-Mail an eine einzelne Zieladresse zu senden. Alle Empfänger im Destination-Objekt erhalten dieselbe E-Mail.

So senden Sie eine E-Mail-Vorlage an eine einzelne Zieladresse
  1. Erstellen Sie in einem Texteditor eine neue Datei. Fügen Sie folgenden Code in die Datei ein.

    { "Source":"Mary Major <mary.major@example.com>", "Template": "MyTemplate", "ConfigurationSetName": "ConfigSet", "Destination": { "ToAddresses": [ "alejandro.rosalez@example.com" ] }, "TemplateData": "{ \"name\":\"Alejandro\", \"favoriteanimal\": \"alligator\" }" }

    Dieser Code enthält die folgenden Eigenschaften:

    • Source – Die E-Mail-Adresse des Absenders.

    • Template – Der Name der Vorlage, die auf die E-Mail angewendet werden soll.

    • ConfigurationSetName – der Name des Konfigurationssatzes, der beim Senden der E-Mail verwendet wird.

      Anmerkung

      Wir empfehlen, einen Konfigurationssatz zu verwenden, der zum Veröffentlichen von Rendering-Fehlerereignissen in Amazon SNS konfiguriert ist. Weitere Informationen finden Sie unter Teil 1: Einrichten von Benachrichtigungen über Rendering-Fehlerereignisse.

    • Destination – Die Empfängeradressen. Sie können mehrere „To“-, „CC“- und „BCC“-Adressen einschließen. Wenn Sie die SendTemplatedEmail-Operation verwenden, erhalten alle Empfänger die gleiche E-Mail.

    • TemplateData - Eine Escape-JSON-Zeichenfolge die Schlüssel-Wert-Paare enthält. Die Schlüssel entsprechen den Variablen in der Vorlage (zum Beispiel {{name}}). Die Werte stellen den Inhalt dar, der die Variablen in der E-Mail ersetzt.

  2. Ändern Sie die Werte im obigen Code Ihren Bedürfnissen entsprechend ab, und speichern Sie die Datei anschließend unter myemail.json.

  3. Geben Sie den folgenden Befehl in der Befehlszeile ein, um die E-Mail zu senden:

    aws ses send-templated-email --cli-input-json file://myemail.json

Senden von E-Mail-Vorlagen an mehrere Zieladressen

Verwenden Sie die SendBulkTemplatedEmail-Operation, um eine E-Mail an mehrere Zieladressen in einem einzigen Aufruf der API zu senden. Amazon SES sendet eine eindeutige E-Mail an den bzw. die Empfänger in jedem Destination-Objekt.

So senden Sie eine E-Mail-Vorlage an mehrere Zieladressen
  1. Erstellen Sie in einem Texteditor eine neue Datei. Fügen Sie folgenden Code in die Datei ein.

    { "Source":"Mary Major <mary.major@example.com>", "Template":"MyTemplate", "ConfigurationSetName": "ConfigSet", "Destinations":[ { "Destination":{ "ToAddresses":[ "anaya.iyengar@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Anaya\", \"favoriteanimal\":\"angelfish\" }" }, { "Destination":{ "ToAddresses":[ "liu.jie@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Liu\", \"favoriteanimal\":\"lion\" }" }, { "Destination":{ "ToAddresses":[ "shirley.rodriguez@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Shirley\", \"favoriteanimal\":\"shark\" }" }, { "Destination":{ "ToAddresses":[ "richard.roe@example.com" ] }, "ReplacementTemplateData":"{}" } ], "DefaultTemplateData":"{ \"name\":\"friend\", \"favoriteanimal\":\"unknown\" }" }

    Dieser Code enthält die folgenden Eigenschaften:

    • Source – Die E-Mail-Adresse des Absenders.

    • Template – Der Name der Vorlage, die auf die E-Mail angewendet werden soll.

    • ConfigurationSetName – der Name des Konfigurationssatzes, der beim Senden der E-Mail verwendet wird.

      Anmerkung

      Wir empfehlen, einen Konfigurationssatz zu verwenden, der zum Veröffentlichen von Rendering-Fehlerereignissen in Amazon SNS konfiguriert ist. Weitere Informationen finden Sie unter Teil 1: Einrichten von Benachrichtigungen über Rendering-Fehlerereignisse.

    • Destinations – Ein Array mit einer oder mehreren Zieladressen.

      • Destination – Die Empfängeradressen. Sie können mehrere „To“-, „CC“- und „BCC“-Adressen einschließen. Wenn Sie die SendBulkTemplatedEmail-Operation verwenden, erhalten alle Empfänger innerhalb desselben Destination-Objekts die gleiche E-Mail.

      • ReplacementTemplateData – Ein JSON-Objekt mit Schlüssel-Wert-Paaren. Die Schlüssel entsprechen den Variablen in der Vorlage (zum Beispiel {{name}}). Die Werte stellen den Inhalt dar, der die Variablen in der E-Mail ersetzt.

    • DefaultTemplateData – Ein JSON-Objekt mit Schlüssel-Wert-Paaren. Die Schlüssel entsprechen den Variablen in der Vorlage (zum Beispiel {{name}}). Die Werte stellen den Inhalt dar, der die Variablen in der E-Mail ersetzt. Das Objekt enthält Fallback-Daten. Wenn ein Destination-Objekt ein leeres JSON-Objekt in der ReplacementTemplateData-Eigenschaft enthält, werden die Werte in der DefaultTemplateData-Eigenschaft verwendet.

  2. Ändern Sie die Werte im obigen Code Ihren Bedürfnissen entsprechend ab, und speichern Sie die Datei anschließend unter mybulkemail.json.

  3. Geben Sie den folgenden Befehl in der Befehlszeile ein, um die Massen-E-Mail zu senden:

    aws ses send-bulk-templated-email --cli-input-json file://mybulkemail.json