Verwenden von Listenverwaltung - Amazon Simple Email Service

Verwenden von Listenverwaltung

Amazon SES bietet Funktionen zur Listenverwaltung, d. h. Kunden können ihre eigenen Mailinglisten, die als Kontaktlisten bezeichnet werden, verwalten. Eine Kontaktliste ist eine Liste, mit der Sie alle Ihre Kontakte speichern können, die ein bestimmtes Thema oder bestimmte Themen abonniert haben. Ein Kontakt ist ein Endbenutzer, der Ihre E-Mails erhält. Ein Thema ist eine Interessengruppe, ein Design oder ein Label innerhalb einer Liste. Listen können mehrere Themen haben.

Durch die Verwendung der ListContacts-Operation in der Amazon SES API v2 können Sie eine Liste aller Kontakte abrufen, die ein bestimmtes Thema abonniert haben, an die Sie mit der SendEmail-Operation E-Mails senden können.

Sie können Adressen manuell hinzufügen oder aus der Unterdrückungsliste auf Kontoebene entfernen, indem Sie die Amazon SES API v2 oder die Konsole verwenden. Weitere Informationen finden Sie unter:

Anmerkung

Um Adressen im Massenformat hinzuzufügen oder zu entfernen, müssen Sie über Produktionszugriff verfügen. Weitere Informationen zur Sandbox finden Sie unter Verlassen der Amazon SES Sandbox.

Weitere Informationen zu Jahresabonnements finden Sie unter Abonnementverwaltung.

Übersicht über die Verwaltung von

Sie sollten die folgenden Faktoren berücksichtigen, wenn Sie die globale Unterdrückungsliste verwenden:

  • Sie können Listenthemen beim Erstellen der Liste angeben.

  • Es ist nur eine Kontaktliste proAWS-Kontoaus.

  • Eine Liste kann maximal 20 Themen haben.

  • Sie können eine vorhandene Kontaktliste aktualisieren. Dazu gehören das Hinzufügen neuer Themen zur Liste, das Hinzufügen oder Löschen von Kontakten aus einer Liste und das Aktualisieren von Kontakteinstellungen für eine Liste oder ein Thema.

  • Sie können Topic-Metadaten aktualisieren, z. B. den Anzeigenamen oder die Beschreibung des Themas.

  • Sie können eine Liste der Kontakte in einer Kontaktliste, Kontakte, die ein Thema abonniert haben, Kontakte, die von einem Thema abgemeldet wurden, sowie Kontakte abrufen, die von allen Themen in der Liste abgemeldet wurden.

  • Sie können Ihre vorhandenen Kontaktlisten mit der CreateImportJob-API in Amazon SES importieren.

  • Amazon SES sendet eine E-Mail zurück, wenn sie an einen nicht abonnierten Kontakt in Ihrer Kontaktliste gesendet wird. Weitere Informationen finden Sie unter Abonnementverwaltung.

  • Jedem Kontakt kann zugeordnete Attribute aufweisen, mit denen Sie Informationen zu diesem Kontakt speichern können.

Konfigurieren der Listenverwaltung

Sie können zur Konfiguration von Listenverwaltungsfunktionen wie folgt verwenden: Eine vollständige Liste der Kontaktlisten und -operationen finden Sie imAmazon SES API v2-Referenzaus.

Erstellen von Gesprächslisten

Sie können die CreateContactList-Operation der Amazon SES API v2 verwenden, um eine Kontaktliste zu erstellen. Sie können diese Einstellung schnell und einfach konfigurieren, indem Sie die AWS CLI verwenden. Weitere Informationen zum Installieren und Konfigurieren der AWS CLI finden Sie im AWS Command Line Interface-Benutzerhandbuch.

So erstellen Sie einen Konfigurationssatz mithilfe der AWS CLI
  • Geben Sie in der Befehlszeile folgenden Befehl ein:

    aws sesv2 create-contact-list --cli-input-json file://CONTACT-LIST-JSON

    Ersetzen Sie im Befehl oben CONTACT-LIST-JSON mit dem Pfad zu Ihrer JSON-Datei für Ihre CreateContactList-Anforderung.

    Eine Beispielhafte CreateContactList-Eingabe-JSON-Datei für die Anforderung ist wie folgt:

    { "ContactListName": "ExampleContactListName", "Description": "Creating a contact list example", "Topics": [ { "TopicName": "Sports", "DisplayName": "Sports Newsletter", "Description": "Sign up for our free newsletter to receive updates on all sports.", "DefaultSubscriptionStatus": "OPT_OUT" }, { "TopicName": "Cycling", "DisplayName": "Cycling newsletter", "Description": "Never miss a cycling update by subscribing to our newsletter.", "DefaultSubscriptionStatus": "OPT_IN" }, { "TopicName": "NewProducts", "DisplayName": "New products", "Description": "Hear about new products by subscribing to this mailing list.", "DefaultSubscriptionStatus": "OPT_IN" }, { "TopicName": "DailyUpdates", "DisplayName": "Daily updates", "Description": "Start your day with sport updates, Monday through Friday.", "DefaultSubscriptionStatus": "OPT_OUT" } ] }

So erstellen Sie einen Kontakt

Sie können den CreateContact-Vorgang in der Amazon SES API v2 verwenden, um einen Kontakt zu erstellen. Sie können diese Einstellung schnell und einfach konfigurieren, indem Sie die AWS CLI verwenden. Weitere Informationen zum Installieren und Konfigurieren der AWS CLI finden Sie im AWS Command Line Interface-Benutzerhandbuch.

So erstellen Sie einen Konfigurationssatz mithilfe der AWS CLI
  • Geben Sie in der Befehlszeile folgenden Befehl ein:

    aws sesv2 create-contact --cli-input-json file://CONTACT-JSON

    Ersetzen Sie im Befehl CONTACT-JSON mit dem Pfad zu Ihrer JSON-Datei für Ihre CreateContact-Anforderung.

    Eine Beispielhafte CreateContact-Eingabe-JSON-Datei für die Anforderung ist wie folgt:

    { "ContactListName": "ExampleContactListName", "EmailAddress": "example@amazon.com", "UnsubscribeAll": false, "TopicPreferences": [ { "TopicName": "Sports", "SubscriptionStatus": "OPT_IN" } ], "AttributesData": "{\"Name\": \"John\", \"Location\": \"Seattle\"}" }

    Im obigen Beispiel zeigt ein UnsubscribeAll-Wert von falsean, dass sich der Kontakt nicht von allen Themen abgemeldet hat, wobei der Wert true bedeuten würde, dass sich der Kontakt von allen Themen abgemeldet hat.

    TopicPreferences enthält Informationen zum Abonnementstatus des Kontakts für Themen. Im vorangegangenen Beispiel hat sich der Kontakt für das Thema „Sport“ entschieden und erhält alle E-Mails zum Thema „Sport“.

    AttributesData ist ein JSON-Feld, in dem Sie beliebige Metadaten über unseren Kontakt einfügen können. Es muss ein gültiges JSON-Objekt sein.

Massenimport von Kontakten in Ihre Kontaktliste

Sie können Adressen manuell in Massenmengen hinzufügen, indem Sie zuerst Ihre Kontakte in ein Amazon S3 Objekt hochladen, gefolgt von der CreateImportJob-Operation in der Amazon SES API v2 oder mithilfe der SES-Konsole. Weitere Informationen finden Sie unter Hinzufügen von E-Mail-Adressen in Ihrer Unterdrückungsliste auf Kontoebene.

Sie sollten eine Kontaktliste erstellen, bevor Sie Ihre Kontakte importieren.

Anmerkung

Sie können einer Kontaktliste pro ImportJob bis zu 1 Million Kontakte hinzufügen.

Führen Sie die folgenden Schritte aus, um der Kontaktliste mehrere Kontakte hinzuzufügen.

  • Laden Sie Ihre Kontakte in ein Amazon S3 Objekt im CSV- oder JSON-Format hoch.

    CSV-Format

    Die erste Zeile der Datei, die in Amazon S3 hochgeladen wird, sollte eine Kopfzeile sein.

    Das topicPreferences-Objekt muss für das CSV-Format abgeflacht werden. Jedes Thema in den topicPreferences hat ein separates Kopfzeilenfeld.

    CSV-Format Beispiel für das Hinzufügen von Kontakten in einem Massenformat zu einer Kontaktliste:

    emailAddress,unsubscribeAll,attributesData,topicPreferences.Sports,topicPreferences.Cycling example1@amazon.com,false,{"Name": "John"},OPT_IN,OPT_OUT example2@amazon.com,true,,OPT_OUT,OPT_OUT

    JSON-Format

    Nur durch Zeilenumbrüche getrennte JSON-Dateien werden unterstützt. In diesem Format ist jede Zeile ein vollständiges JSON-Objekt mit den Informationen eines Kontakts.

    Beispiel für das JSON-Format zum Hinzufügen von Kontakten in einer Kontaktliste:

    { "emailAddress": "example1@amazon.com", "unsubscribeAll": false, "attributesData": "{\"Name\":\"John\"}", "topicPreferences": [ { "topicName": "Sports", "subscriptionStatus": "OPT_IN" }, { "topicName": "Cycling", "subscriptionStatus": "OPT_OUT" } ] } { "emailAddress": "example2@amazon.com", "unsubscribeAll": true, "topicPreferences": [ { "topicName": "Sports", "subscriptionStatus": "OPT_OUT" }, { "topicName": "Cycling", "subscriptionStatus": "OPT_OUT" } ] }

    Ersetzen Sie in den obigen Beispielenexample1@amazon.comundexample2@amazon.commit den E-Mail-Adressen, die Sie der Kontaktliste hinzufügen möchten. Ersetzen Sie die attributesData-Werte durch die für den Kontakt spezifischen Werte. Ersetzen Sie außerdem Sport und Radfahren mit dem topicName, der für Ihren Kontakt gilt. Die akzeptablen topicPreferences sind OPT_IN und OPT_OUT.

    Die folgenden Attribute werden unterstützt, wenn Sie Ihre Kontakte in ein Amazon S3 Objekt im CSV- oder JSON-Format hochladen:

    Attribut Beschreibung
    emailAddress Die E-Mail-Adresse des Kontakts. Dieser ist ein obligatorisches Feld.
    unsubscribeAll Ein boolescher Wertstatus, der angibt, ob der Kontakt von allen Themen der Kontaktliste abgemeldet wird.
    topicPreferences Die Präferenzen des Kontakts für die Opt-In oder Opt-Out von Themen.
    attributesData Die Attributdaten, die einem Kontakt zugeordnet sind.
  • Erteilen Sie Amazon SES die Berechtigung zum Lesen des Amazon S3 Objekts.

    Bei Anwendung auf einen Amazon S3-Bucket erteilt die folgenden Richtlinie Amazon SES die Berechtigung zum Schreiben von Daten in diesen Bucket. Weitere Informationen zu Bucket-Richtlinien für Amazon S3 finden Sie unter Verwenden von Bucket-Richtlinien und Benutzerrichtlinien im Entwicklerhandbuch zu Amazon Simple Storage Service.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESGet", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::BUCKET-NAME/OBJECT-NAME", "Condition": { "StringEquals": { "aws:Referer": "AWSACCOUNTID" } } } ] }
  • Erteilen der Berechtigung zur Verwendung Ihres Amazon SES-Masterschlüssels an AWS KMS.

    Wenn das Amazon S3 Objekt mit einemAWS KMSSie müssen Amazon SES die Berechtigung erteilen, den KMS-Schlüssel zu verwenden. Amazon SES kann nur die Berechtigung von einem vom Kunden verwalteten Schlüssel erhalten, nicht von einem standardmäßigen KMS-Schlüssel. Sie müssen Amazon SES die Berechtigung erteilen, den vom Kunden verwalteten Schlüssel zu verwenden, indem Sie der Richtlinie des Schlüssels eine Anweisung hinzufügen.

    Fügen Sie die folgende Richtlinienanweisung in die Schlüsselrichtlinie ein, um Amazon SES zu erlauben, Ihren vom Kunden verwalteten Schlüssel zu verwenden.

    { "Sid": "AllowSESToDecrypt", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", ], "Resource": "*" }
  • Verwenden Sie die CreateImportJob-Operation in der Amazon SES API v2.

Anmerkung

Im folgenden Verfahren wird davon ausgegangen, dass Sie den AWS CLI bereits installiert haben. Weitere Informationen zum Installieren und Konfigurieren der AWS CLI finden Sie im AWS Command Line Interface-Benutzerhandbuch.

Geben Sie in der Befehlszeile den folgenden Befehl ein: Ersetzens3BucketNotieren Sie den Namen des Amazon S3 Buckets unds3objektMit dem Namen des Amazon S3 Objektnamens.

aws sesv2 create-import-job --import-destination ContactListDestination={ContactListName=ExampleContactListName,ContactListImportAction=PUT} --import-data-source S3Url="s3://s3bucket/s3object",DataFormat=CSV

Exemplarische Vorgehensweise zur Listenverwaltung mit Beispielen

Die folgende exemplarische Vorgehensweise enthält Beispiele, wie Sie mit der Listenverwaltung Ihre Kontakte aufführen und ListManagementOptions nutzen können, um eine Kontaktliste und einen Themennamen in Ihrer E-Mail anzugeben und Abmeldelinks einzufügen.

  1. Kontakte unter Verwendung von AWS CLI aufführen – Mit der ListContacts-Operation können Sie eine Liste aller Kontakte abrufen, die ein bestimmtes Thema abonniert haben und in Verbindung mit SendEmail-Operation können Sie ihnen E-Mails senden.

    Geben Sie in der Befehlszeile folgenden Befehl ein:

    aws sesv2 list-contacts --cli-input-json file://LIST-CONTACTS-JSON

    Ersetzen Sie im Befehl LIST-CONTACT-JSON mit dem Pfad zu Ihrer JSON-Datei für Ihre ListContacts-Anforderung.

    Eine Beispielhafte ListContacts-Eingabe-JSON-Datei für die Anforderung ist wie folgt:

    { "ContactListName": "ExampleContactListName", "Filter": { "FilteredStatus": "OPT_IN", "TopicFilter": { "TopicName": "Cycling", "UseDefaultIfPreferenceUnavailable": true } }, "PageSize": 50 }

    FilteredStatus zeigt den Abonnementstatus an, auf den Sie filtern möchten, der entweder OPT_INoder OPT_OUT ist.

    TopicFilter ist ein optionaler Filter, der angibt, für welches Thema Sie Ergebnisse wünschen. Im obigen Beispiel ist das „Radfahren“.

    UseDefaultIfPreferenceUnavailable kann den Wert true oder false aufweisen. Wenntrue, wird die Standardeinstellung des Themas verwendet, wenn der Kontakt keine explizite Präferenz für ein Thema hat. Wennfalseauswählen, werden nur Kontakte mit einer explizit festgelegten Voreinstellung für die Filterung berücksichtigt.

  2. E-Mail mit ListManagementOptions aktiviert senden – nachdem Sie die Kontakte in Ihrer Liste mit der oben genannten ListContacts-Operation aufgelistet haben, können Sie mit der SendEmail-Operation E-Mails an jeden Ihrer Kontakte senden, indem Sie den ListManagementOptions-Header verwenden, um Ihre Kontaktliste und Ihren Themennamen anzugeben.

    Wenn Sie ListManagementOptions mit der SendEmail-Operation verwenden möchten, schließen Sie contactListName und topicName zu der die E-Mail gehört (der topicName ist optional) ein:

    ListManagementOptions: String contactListName String topicName

    Wenn Sie ListManagementOptions in Ihre SendEmail-Anfrage an eine Empfänger-E-Mail-Adresse einfügen, die nicht in Ihrer Kontaktliste enthalten ist, wird automatisch ein Kontakt in Ihrer Liste erstellt.

    Amazon SES sendet eine E-Mail zurück, wenn sie an einen nicht abonnierten Kontakt in Ihrer Kontaktliste gesendet wird. Dies bedeutet, dass Sie Ihre SendEmail-Anfragen nicht aktualisieren müssen, um das Senden an Kontakte zu vermeiden, die sich abgemeldet haben.

  3. Den Standort für Ihre Abmeldelinks angeben – bei Verwendung von ListManagementOptions können Sie es Amazon SES ermöglichen, mithilfe von {{amazonSESUnsubscribeUrl}}-Platzhaltern Fußzeilenlinks zum Abbestellen in Ihrer E-Mail hinzuzufügen, um anzugeben, wo SES die Abmelde-URL einfügen muss. Der Austausch von Platzhaltern wird nur für HTML- und TEXT-Typen unterstützt. Sie können den Platzhalter maximal zwei Mal einschließen. Bei mehrfacher Verwendung werden nur die ersten beiden Vorkommen ersetzt. Weitere Informationen finden Sie unter Abonnementverwaltung.

    Sie können aber auch den X-SES-LIST-MANAGEMENT-OPTIONS-Header verwenden, um beim Senden von E-Mails über die SMTP-Schnittstelle eine Liste und einen Themennamen anzugeben.

    Um beim Senden von E-Mails über die SMTP-Schnittstelle eine Liste und ein Thema anzugeben, fügen Sie der Nachricht den folgenden E-Mail-Header hinzu:

    X-SES-LIST-MANAGEMENT-OPTIONS: {contactListName}; topic={topicName}