Uso de la administración de listas - Amazon Simple Email Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la administración de listas

Amazon SES ofrece funciones de administración de listas, lo que significa que los clientes pueden administrar sus propias listas de correo, conocidas como listas de contactos. Una lista de contactos es una lista que le permite almacenar todos sus contactos que se han suscrito a uno o varios temas concretos. Un contacto es un usuario final que recibe sus mensajes de correo electrónico. Un tema es un grupo de interés, un tema o una etiqueta de una lista. Las listas pueden tener varios temas.

Al usar la operación ListContacts de la API v2 de Amazon SES, puede recuperar una lista de todos los ‎contactos que se han suscrito a u‎n tema concreto, a los que puede enviar mensajes de correo electrónico mediante la operación SendEmail.

Para obtener más información acerca de la administración de suscripciones, consulte Uso de la administración de suscripciones.

Información general acerca de la administración de listas

Debe tener en cuenta los siguientes factores cuando utilice la administración de listas:

  • Puede especificar temas de lista al crear la lista.

  • Solo se permite una lista de contactos por Cuenta de AWS.

  • Una lista puede tener un máximo de 20 temas.

  • Puede actualizar una lista de contactos existente, lo que incluye agregar nuevos temas a la lista, agregar o eliminar contactos de una lista y actualizar las preferencias de contacto de una lista o un tema.

  • Puede actualizar los metadatos del tema, como el nombre para mostrar o la descripción del tema.

  • Puede obtener una lista de contactos de una lista de contactos, contactos suscritos a un tema, contactos cuya suscripción a un tema se ha cancelado y contactos cuya suscripción a todos los temas de la lista se ha cancelado.

  • Puede importar las ‎listas de contactos existentes en Amazon SES mediante la API CreateImportJob.

  • Amazon SES rebotará un correo electrónico si se envía a un contacto cuya suscripción se ha cancelado en su lista de contactos. Para obtener más información, consulte Uso de la administración de suscripciones.

  • Cada contacto puede tener atributos asociados que puede utilizar para almacenar información acerca de ese contacto.

Configuración de la administración de listas

Puede utilizar las siguientes operaciones para configurar las capacidades de administración de listas. Para obtener la lista completa de la lista de contactos y las operaciones de contactos, consulte la Referencia de la API v2 de Amazon SES.

Creación de una lista de contactos

Puede utilizar la operación CreateContactList en la API v2 de Amazon SES para crear una lista de contactos. Para establecer esta configuración de forma rápida y fácil, utilice la AWS CLI. Para obtener más información sobre cómo instalar y configurar la AWS CLI, consulte la Guía del usuario de la AWS Command Line Interface.

Para crear un conjunto de configuración mediante AWS CLI
  • En la línea de comandos, escriba el comando siguiente.

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

    En el comando anterior, reemplace CONTACT-LIST-JSON por la ruta del archivo JSON para su solicitud CreateContactList.

    Un archivo JSON de entrada CreateContactList de ejemplo para la solicitud es como el siguiente:

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

Creación de un contacto

‎Puede utilizar la operación CreateContact en la API v2 de Amazon SES para crear un contacto. Para establecer esta configuración de forma rápida y fácil, utilice la AWS CLI. Para obtener más información sobre cómo instalar y configurar la AWS CLI, consulte la Guía del usuario de la AWS Command Line Interface.

Para crear un contacto mediante AWS CLI
  • En la línea de comandos, escriba el comando siguiente.

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

    En el comando anterior, reemplace CONTACT-JSON por la ruta del archivo JSON para la solicitud CreateContact.

    Un archivo JSON de entrada CreateContact de ejemplo para la solicitud es como el siguiente:

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

    En el ejemplo anterior, un valor UnsubscribeAll de false muestra que el contacto no ha cancelado la suscripción de todos los temas, donde un valor de true significaría que se ha cancelado la suscripción del contacto de todos los temas.

    TopicPreferences incluye información acerca del estado de suscripción del contacto a los temas. En el ejemplo anterior, el contacto ha optado por el tema "Sports" (Deportes) y recibirá todos los mensajes de correo electrónico para el tema "Sports" (Deportes).

    AttributesData es un campo JSON donde puede poner los metadatos acerca de nuestro contacto. Debe ser un objeto JSON válido.

Importación en bloque de contactos a su lista de contactos

Puede agregar direcciones manualmente en bloque si carga primero los ‎contactos en un objeto de Simple Storage Service (Amazon S3) seguido de la operación CreateImportJob en la API v2 de Amazon SES o mediante la consola de SES. Para obtener más información, consulte Agregar direcciones de correo electrónico en bloque a la lista de supresión de nivel de cuenta.

Debe crear una lista de contactos antes de importar los contactos.

nota

Puede agregar hasta 1 millón de contactos a una lista de contactos por operación ImportJob.

Para agregar contactos en bloque a su lista de contactos, realice los pasos siguientes.

  • Cargue sus contactos en un objeto de Amazon S3 en formato CSV o JSON.

    CSV format (Formato CSV)

    La primera línea del archivo que se carga en Amazon S3 debe ser una línea de encabezado.

    El objeto topicPreferences se debe aplanar para el formato CSV. Cada tema en topicPreferences tendrá un campo de encabezado independiente.

    Ejemplo de formato CSV para agregar contactos en bloque a una lista de contactos:

    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

    Formato JSON

    Solo se admiten archivos JSON delimitados por saltos de línea. En este formato, cada línea es un objeto JSON completo que contiene la información de un contacto.

    Ejemplo de formato JSON para agregar contactos en bloque a una lista de contactos:

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

    En los ejemplos anteriores, reemplace example1@amazon.com y example2@amazon.com con las direcciones de correo electrónico que desea agregar a la lista de contactos. Reemplace los valores de attributesData por los valores específicos del contacto. Además, reemplace Sports (Deportes) y Cycling (Ciclismo) por topicName que se aplica al contacto. Los topicPreferences aceptables son OPT_IN y OPT_OUT.

    Los siguientes atributos se admiten al cargar sus contactos en un objeto de Amazon S3 en formato CSV o JSON:

    Atributo Descripción
    emailAddress La dirección de correo electrónico del contacto. Este es un campo obligatorio.
    unsubscribeAll Estado de valor booleano que indica si se ha cancelado la suscripción del contacto de todos los temas de la lista de contactos.
    topicPreferences Preferencias del contacto para su inclusión o exclusión en los temas.
    attributesData Datos de atributo asociados a un contacto.
  • Conceda permiso a Amazon SES para leer el objeto de Amazon S3.

    Cuando se aplica a un bucket de Amazon S3, la siguiente política otorga permiso a Amazon SES para leer dicho bucket. Para obtener más información acerca de la asociación de políticas a buckets de Amazon S3, consulte Uso de políticas de bucket y políticas de usuario en la Guía del usuario de 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" } } } ] }
  • Otorgue permiso a Amazon SES para utilizar su clave de AWS KMS.

    Si el objeto de Amazon S3 está cifrado con una clave de AWS KMS, debe conceder permiso a Amazon SES para que utilice la clave de KMS. Amazon SES solo puede obtener el permiso de una clave administrada por el cliente, no de una clave de KMS predeterminada. Debe otorgar permiso a Amazon SES para utilizar la clave administrada por el cliente. Para ello, agregue una instrucción a la política de la clave.

    Pegue la siguiente instrucción de política en la política de claves para permitir que Amazon SES utilice su clave administrada por el cliente.

    { "Sid": "AllowSESToDecrypt", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", ], "Resource": "*" }
  • Utilice la operación CreateImportJob en la API v2 de Amazon SES.

nota

En el ejemplo siguiente se presupone que ya ha instalado AWS CLI. Para obtener más información sobre cómo instalar y configurar la AWS CLI, consulte la Guía del usuario de la AWS Command Line Interface.

En la línea de comandos, escriba el comando siguiente: Reemplace s3bucket por el nombre del bucket de Amazon S3 y s3object por el nombre del objeto de Amazon S3.

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

Tutorial de administración de listas con ejemplos

El siguiente tutorial proporciona ejemplos de cómo puede utilizar la administración de listas para mostrar los contactos, utilizar ListManagementOptions para especificar una lista de contactos y un nombre de tema en el correo electrónico y cómo insertar enlaces de cancelación de suscripción.

  1. Mostrar contactos mediante AWS CLI: puede usar la operación ListContacts para recuperar una lista de todos los contactos que se han suscrito a un tema particular, junto con la operación SendEmail, que le permite enviarles mensajes de correo electrónico.

    En la línea de comandos, escriba el comando siguiente.

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

    En el comando anterior, reemplace LIST-CONTACTS-JSON por la ruta del archivo JSON para la solicitud de ListContacts.

    Un archivo JSON de entrada ListContacts de ejemplo para la solicitud es como el siguiente:

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

    FilteredStatus muestra el estado de suscripción por el que desea filtrar, que es OPT_IN o OPT_OUT.

    TopicFilter es un filtro opcional que especifica el tema del que desea obtener resultados, que en el ejemplo anterior es "Cycling" (Ciclismo).

    UseDefaultIfPreferenceUnavailable puede tener un valor de true o false. Si es true, se usará la preferencia de tema predeterminada si el contacto no tiene ninguna preferencia explícita para un tema. Si es false, solo se tienen en cuenta los contactos con una preferencia establecida explícita para el filtrado.

  2. Enviar correo con ListManagementOptions habilitado: después de mostrar los contactos en la lista utilizando la operación ListContacts anterior, puede utilizar la operación SendEmail para enviar correos electrónicos a cada uno de los contactos mediante el encabezado ListManagementOptions para especificar la lista de contactos y el nombre del tema.

    Para utilizar ListManagementOptions con la operación SendEmail, incluya contactListName y topicName al que pertenece el correo electrónico (topicName es opcional):

    ListManagementOptions: String contactListName String topicName

    Si incluye ListManagementOptions en la solicitud SendEmail a una dirección de correo electrónico de destinatario que no está en la lista de contactos, se creará un contacto en la lista automáticamente.

    Amazon SES rebotará un mensaje de correo electrónico si se envía a un contacto cuya suscripción se ha cancelado en la lista de contactos, lo que significa que no tendrá que actualizar las solicitudes SendEmail para evitar el envío a contactos cuya suscripción se ha cancelado.

  3. Indicar la ubicación de los enlaces de cancelación de suscripción: al utilizar ListManagementOptions tiene la opción de permitir que Amazon SES agregue enlaces de pie de página de cancelación de suscripción en el correo electrónico mediante el marcador de posición {{amazonSESUnsubscribeUrl}} para especificar dónde debe insertar SES la URL de cancelación de suscripción. Solo se admite el reemplazo de marcadores de posición para los tipos de contenido HTML y TEXT. Puede incluir el marcador de posición dos veces como máximo. Si se utiliza más de dos veces, solo se reemplazan las dos primeras coincidencias. Para obtener más información, consulte Uso de la administración de suscripciones.

    Otra opción, si utiliza la interfaz de SMTP para enviar un correo electrónico, puede usar el encabezado X-SES-LIST-MANAGEMENT-OPTIONS para especificar una lista y un nombre de tema.

    Para especificar una lista y un nombre de tema durante el envío de correo electrónico mediante la interfaz SMTP, agregue el siguiente encabezado de correo electrónico al mensaje:

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