Utilisation de la gestion des listes - Amazon Simple Email Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de la gestion des listes

Amazon SES offre des fonctionnalités de gestion des listes, ce qui signifie que les clients peuvent gérer leurs propres listes de diffusion, appelées listes de contacts. Une liste de contacts est une liste qui vous permet de stocker tous vos contacts qui se sont abonnés à une ou plusieurs rubriques particulières. Un contact est un utilisateur final qui reçoit vos e-mails. Une rubrique est un groupe d'intérêt, un thème ou un libellé au sein d'une liste. Les listes peuvent avoir plusieurs rubriques.

En utilisant l'opération ListContacts dans l'API Amazon SES v2, vous pouvez récupérer une liste de tous vos contacts qui se sont abonnés à une rubrique particulière, et auxquels vous pouvez envoyer des e-mails à l'aide de l'opération SendEmail.

Pour en savoir plus sur la gestion des abonnements, consultez la page Utilisation de la gestion des abonnements.

Présentation de la gestion des listes

Vous devez tenir compte des facteurs suivants lorsque vous utilisez la gestion des listes :

  • Vous pouvez spécifier des rubriques de liste lors de la création de la liste.

  • Une seule liste de contacts est autorisée par Compte AWS.

  • Une liste peut comporter un maximum de 20 rubriques.

  • Vous pouvez mettre à jour une liste de contacts existante, y compris ajouter de nouvelles rubriques à la liste, ajouter ou supprimer des contacts d'une liste et mettre à jour des préférences de contact pour une liste ou une rubrique.

  • Vous pouvez mettre à jour les métadonnées d'une rubrique, telles que le nom d'affichage ou la description de la rubrique.

  • Vous pouvez obtenir une liste de contacts dans une liste de contacts, de contacts abonnés à une rubrique, de contacts désabonnés d'une rubrique et de contacts désabonnés de toutes les rubriques de la liste.

  • Vous pouvez importer vos listes de contacts existantes dans Amazon SES à l'aide de l'API CreateImportJob.

  • Amazon SES retournera un e-mail à l'expéditeur s'il est envoyé à un contact désabonné de votre liste de contacts. Pour de plus amples informations, veuillez consulter Utilisation de la gestion des abonnements.

  • Chaque contact peut avoir des attributs associés que vous pouvez utiliser pour stocker des informations sur ce contact.

Configuration de la gestion des listes

Vous pouvez utiliser les opérations suivantes pour configurer les capacités de gestion des listes. Pour obtenir la liste complète des opérations de liste de contacts et de contact, consultez le document Référence de l'API Amazon SES v2.

Création d'une liste de contacts

Vous pouvez utiliser l'opération CreateContactList dans l'API Amazon SES v2 pour créer une liste de contacts. Vous pouvez configurer rapidement et facilement ce paramètre en utilisant l' AWS CLI. Pour en savoir plus sur l'installation et la configuration de l'AWS CLI, consultez le Guide de l'utilisateur de l'AWS Command Line Interface.

Pour créer une liste de contacts à l'aide de l'AWS CLI
  • Sur la ligne de commande, entrez la commande suivante :

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

    Dans la commande précédente, remplacez CONTACT-LIST-JSON par le chemin de votre fichier JSON pour votre demande CreateContactList.

    Un exemple de fichier JSON d'entrée CreateContactList pour la demande est le suivant :

    { "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" } ] }

Créer un contact

Vous pouvez utiliser l'opération CreateContact dans l'API Amazon SES v2 pour créer un contact. Vous pouvez configurer rapidement et facilement ce paramètre en utilisant l' AWS CLI. Pour en savoir plus sur l'installation et la configuration de l'AWS CLI, consultez le Guide de l'utilisateur de l'AWS Command Line Interface.

Pour créer un contact à l'aide de l'AWS CLI
  • Sur la ligne de commande, entrez la commande suivante :

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

    Dans la commande précédente, remplacez CONTACT-JSON par le chemin de votre fichier JSON pour votre demande CreateContact.

    Un exemple de fichier JSON d'entrée CreateContact pour la demande est le suivant :

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

    Dans l'exemple ci-dessus, une valeur UnsubscribeAll de false indique que le contact ne s'est pas désabonné de toutes les rubriques, tandis qu'une valeur de true signifierait que le contact s'est désabonné de toutes les rubriques.

    TopicPreferences inclut des informations sur le statut d'abonnement du contact aux rubriques. Dans l'exemple précédent, le contact a opté pour la rubrique « Sports » et recevra tous les e-mails la concernant.

    AttributesData est un champ JSON dans lequel vous pouvez placer des métadonnées sur notre contact. Il doit s'agir d'un objet JSON valide.

Importation de contacts en bloc dans votre liste de contacts

Vous pouvez ajouter manuellement des adresses en bloc en téléchargeant d'abord vos contacts dans un objet Amazon S3, puis en utilisant l'opération CreateImportJob dans l'API Amazon SES v2. Pour plus d'informations, consultez Ajout d'adresses e-mail en bloc à la liste de suppression au niveau de votre compte.

Vous devez créer une liste de contacts avant d'importer vos contacts.

Note

Vous pouvez ajouter jusqu'à un million de contacts à une liste de contacts par ImportJob.

Pour ajouter des contacts en bloc à votre liste de contacts, procédez comme suit.

  • Téléchargez vos contacts dans un objet Amazon S3 au format CSV ou JSON.

    Format CSV

    La première ligne du fichier téléchargée sur Amazon S3 doit être une ligne d'en-tête.

    L'objet topicPreferences doit être réduit pour le format CSV. Chaque rubrique du topicPreferences aura un champ d'en-tête distinct.

    Exemple de format CSV pour ajouter des contacts en bloc à une liste de contacts :

    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

    Format JSON

    Seuls les nouveaux fichiers JSON délimités par une ligne sont pris en charge. Dans ce cas, chaque ligne est un objet JSON complet qui contient les informations d'un contact.

    Exemple de format JSON pour ajouter des contacts en bloc à une liste de contacts :

    { "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" } ] }

    Dans les exemples précédents, remplacez example1@amazon.com et example2@amazon.com par les adresses e-mail que vous souhaitez ajouter à la liste de contacts. Remplacez les valeurs attributesData par les valeurs spécifiques au contact. En outre, remplacez Sport et Cyclisme par la valeur topicName qui s'applique à votre contact. Les objets topicPreferences acceptables sont OPT_IN et OPT_OUT.

    Les attributs suivants sont pris en charge lors du téléchargement de vos contacts dans un objet Amazon S3 au format CSV ou JSON :

    Attribut Description
    emailAddress Adresse e-mail du contact. Ce champ est obligatoire.
    unsubscribeAll Statut de valeur booléenne indiquant si le contact est désabonné de toutes les rubriques de la liste de contacts.
    topicPreferences Préférences du contact quant à l'abonnement ou non aux rubriques.
    attributesData Données d'attribut attachées à un contact.
  • Autoriser Amazon SES à lire l'objet Amazon S3.

    Appliquée à un compartiment Amazon S3, la stratégie suivante donne à Amazon SES l'autorisation de lire ce compartiment. Pour de plus amples informations sur l'attachement de stratégies de compartiment vers Amazon S3, veuillez consulter Stratégies de compartiment et stratégies d'utilisateur dans le Guide de l'utilisateur d'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" } } } ] }
  • Attribuer à Amazon SES l'autorisation d'utiliser votre clé AWS KMS

    Si l'objet Amazon S3 est chiffré avec une clé AWS KMS, vous devez attribuer à Amazon SES l'autorisation d'utiliser la clé KMS. Amazon SES ne peut obtenir l'autorisation qu'à partir d'une clé gérée par le client, et non d'une clé KMS par défaut. Vous devez donner à Amazon SES la permission d'utiliser la clé gérée par le client en ajoutant une déclaration à la stratégie de la clé.

    Collez la déclaration de stratégie suivante dans la stratégie de clé pour autoriser Amazon SES à utiliser votre clé gérée par le client.

    { "Sid": "AllowSESToDecrypt", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", ], "Resource": "*" }
  • Utilisez l'opération CreateImportJob dans l'API Amazon SES v2.

Note

L'exemple suivant suppose que vous avez déjà installé le AWS CLI. Pour en savoir plus sur l'installation et la configuration de l'AWS CLI, consultez le Guide de l'utilisateur de l'AWS Command Line Interface.

En ligne de commande, entrez la commande suivante. Remplacez s3bucket par le nom du compartiment Amazon S3 et s3object par le nom de l'objet Amazon S3.

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

Procédure pas à pas de gestion des listes avec des exemples

La procédure pas à pas suivante fournit des exemples de la façon dont vous pouvez utiliser la gestion des listes pour répertorier vos contacts et ListManagementOptions pour spécifier une liste de contacts et un nom de sujet dans votre e-mail. Elle indique également comment insérer des liens de désabonnement.

  1. Répertorier les contacts en utilisant AWS CLI – Vous pouvez utiliser l'opération ListContacts pour récupérer une liste de tous vos contacts qui se sont abonnés à une rubrique particulière, parallèlement à l'opérationSendEmail , qui vous permet de leur envoyer des e-mails.

    Sur la ligne de commande, entrez la commande suivante :

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

    Dans la commande précédente, remplacez LIST-CONTACTS-JSON par le chemin de votre fichier JSON pour votre demande ListContacts.

    Un exemple de fichier JSON d'entrée ListContacts pour la demande est le suivant :

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

    Le paramètre FilteredStatus affiche l'état d'abonnement pour lequel vous souhaitez appliquer un filtre, qui est soit OPT_IN, soit OPT_OUT.

    Le filtre TopicFilter est un filtre facultatif qui spécifie la rubrique pour laquelle vous souhaitez obtenir des résultats, à savoir « Cyclisme » dans l'exemple ci-dessus.

    UseDefaultIfPreferenceUnavailable peut avoir la valeur true ou false. S'il s'agit de true, la préférence de rubrique par défaut sera utilisée si le contact n'a aucune préférence explicite pour une rubrique. S'il s'agit de false, seuls les contacts qui ont une préférence explicitement définie sont pris en compte pour le filtrage.

  2. Envoyer un e-mail avec ListManagementOptions activé – Après avoir répertorié les contacts dans votre liste à l'aide de l'opération ListContacts ci-dessus, vous pouvez utiliser l'opération SendEmail pour envoyer des e-mails à chacun de vos contacts à l'aide de l'en-tête ListManagementOptions afin de spécifier votre liste de contacts et votre nom de rubrique.

    Pour utiliser ListManagementOptions avec l'opération SendEmail, incluez contactListName et topicName auxquels appartient l'e-mail (topicNameest facultatif) :

    ListManagementOptions: String contactListName String topicName

    Si vous incluez ListManagementOptions dans votre demande SendEmail à une adresse e-mail de destinataire qui ne figure pas sur votre liste de contacts, un contact sera automatiquement créé dans votre liste.

    Amazon SES renverra un e-mail à l'expéditeur s'il est envoyé à un contact désabonné de votre liste de contacts, ce qui signifie que vous n'aurez pas besoin de mettre à jour vos demandes SendEmail pour éviter de les envoyer à des contacts qui se sont désabonnés.

  3. Indiquer l'emplacement de vos liens de désabonnement – Lorsque vous utilisez ListManagementOptions, vous avez la possibilité d'autoriser Amazon SES à ajouter des liens de bas de page de désabonnement dans votre e-mail à l'aide de l'espace réservé {{amazonSESUnsubscribeUrl}} pour spécifier où SES doit insérer l'URL de désabonnement. Le remplacement des espaces réservés n'est pris en charge que pour les types de contenu HTML et TEXT. Vous pouvez inclure l'espace réservé deux fois maximum. S'il est utilisé plus de deux fois, seules les deux premières occurrences sont remplacées. Pour de plus amples informations, veuillez consulter Utilisation de la gestion des abonnements.

    Vous pouvez également utiliser l'en-tête X-SES-LIST-MANAGEMENT-OPTIONS pour spécifier une liste et un nom de rubrique si vous utilisez l'interface SMTP pour envoyer des e-mails.

    Pour spécifier une liste et un nom de rubrique lors de l'envoi d'e-mails à l'aide de l'interface SMTP, ajoutez l'en-tête d'e-mail suivant à votre message :

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