

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.

# Poner en pausa automáticamente el envío de correo electrónico en toda su cuenta de Amazon SES
<a name="monitoring-sender-reputation-pausing-account"></a>

Los procedimientos de esta sección explican los pasos para configurar Amazon SES, Amazon SNS, Amazon y AWS Lambda pausar automáticamente el envío de correo electrónico para su cuenta de Amazon SES en una sola AWS región. CloudWatch Si envía correo electrónico desde varias regiones, repita los procedimientos de esta sección para cada región en la que desee implementar esta solución.

**Topics**
+ [Parte 1: crear un rol de IAM](#monitoring-sender-reputation-pausing-account-part-1)
+ [Parte 2: crear la función de Lambda](#monitoring-sender-reputation-pausing-account-part-2)
+ [Parte 3: volver a habilitar el envío de correos electrónicos en su cuenta](#monitoring-sender-reputation-pausing-account-part-3)
+ [Parte 4: Crear un tema de Amazon SNS y una suscripción](#monitoring-sender-reputation-pausing-account-part-4)
+ [Parte 5: Crear una alarma CloudWatch](#monitoring-sender-reputation-pausing-account-part-5)
+ [Parte 6: probar la solución](#monitoring-sender-reputation-pausing-account-part-6)

## Parte 1: crear un rol de IAM
<a name="monitoring-sender-reputation-pausing-account-part-1"></a>

El primer paso para configurar la suspensión automática del envío de correo electrónico es crear un rol de IAM que pueda ejecutar la operación de la API `UpdateAccountSendingEnabled`.

**Creación del rol de IAM**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Seleccione **Roles** en el panel de navegación.

1. Elija **Create role** (Crear rol).

1. En la página **Select trusted entity** (Seleccionar entidad de confianza), elija **AWS service** para el **Trusted entity type** (Tipo de entidad de confianza).

1. En **Use case** (Caso de uso), elija **Lambda** y, a continuación, elija **Next** (Siguiente).

1. En la página **Add permissions** (Agregar permisos), elija las siguientes políticas:
   + **AWSLambdaBasicExecutionRole**
   + **SESFullAcceso a Amazon**
**sugerencia**  
‎Utilice el cuadro de búsqueda en **Permission policies** (Políticas de permisos) para localizar rápidamente estas políticas, pero tenga en cuenta que después de buscar y seleccionar la primera política, debe elegir **Clear filters** (Borrar filtros) antes de buscar y seleccionar la segunda política.

   A continuación, elija **Siguiente**.

1. En la página **Name, review, and create** (Nombre, revisión y crear), en **Role details** (Detalles de rol), ingrese un nombre con significado para la política en el campo **Role name** (Nombre de rol).

1. Compruebe que las dos políticas que ha seleccionado aparecen en la tabla **Permissions policy summary** (Resumen de la política de permisos) y, a continuación, elija ‎**Create role** (Crear rol).

## Parte 2: crear la función de Lambda
<a name="monitoring-sender-reputation-pausing-account-part-2"></a>

Después de crear un rol de IAM, puede crear la función de Lambda que suspende el envío de correo electrónico para la cuenta.

**Para crear la función de Lambda**

1. Abre la AWS Lambda consola en [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Utilice el selector de regiones para elegir la región en la que desea implementar esta función de Lambda.
**nota**  
Esta función solo detiene el envío de correos electrónicos en la AWS región que haya seleccionado en este paso. Si envía correos electrónicos desde más de una región, repita los procedimientos de esta sección para cada región en la que desee suspender automáticamente el envío de correos electrónicos.

1. Seleccione **Creación de función**.

1. En **Create function** (Crear función), elija **Author from scratch** (Autor desde cero).

1. En **Basic information** (Información básica), realice los siguientes pasos:
   + En **Function name** (Nombre de la función), escriba un nombre para la función Lambda.
   + Para **Tiempo de ejecución**, elija **Node.js 18x** (o la versión que se ofrece actualmente en la lista de selección).
   + ‎Para **Architecture** (Arquitectura), conserve el valor predeterminado preseleccionado, **x86\$164**.
   + En permisos expanda **Change default execution role** (Cambiar rol de ejecución predeterminado) y elija **Use an existing role** (Utilizar un rol existente).
   + Haga clic dentro del cuadro de la lista **Existing role** (Rol existente) y elija el rol de IAM que creó en [Parte 1: crear un rol de IAM](#monitoring-sender-reputation-pausing-account-part-1).

   A continuación, seleccione **Crear función**.

1. En **Code source** (Código fuente), en el editor de código, pegue el siguiente código:

   ```
   'use strict';
   
   
   const { SES } = require("@aws-sdk/client-ses")
   
   // Create a new SES object. 
   
   var ses = new SES({});                  
   
   // Specify the parameters for this operation. In this case, there is only one
   // parameter to pass: the Enabled parameter, with a value of false
   // (Enabled = false disables email sending, Enabled = true enables it).
   var params = {
       Enabled: false
   };
   
   exports.handler = (event, context, callback) => {
       // Pause sending for your entire SES account
       ses.updateAccountSendingEnabled(params, function(err, data) {
           if(err) {
               console.log(err.message);
           } else {
               console.log(data);
           }
       });
   };
   ```

   A continuación, elija **Implementar**.

1. Seleccione **Probar** Si aparece la ventana **Configure test event** (Configurar prueba de evento), ingrese un nombre en el campo **Event name** (Nombre de evento) y, a continuación, elija **Save** (Guardar).

1. Expanda el contenedor de **Test** (Pruebas) y seleccione el nombre del evento que acaba de crear y, a continuación, elija **Test** (Pruebas).

1. La pestaña de **Execution results** (Resultados de la ejecución) aparecerá, justo debajo de ella y a la derecha, asegúrese de que se muestre `Status: Succeeded`. Si la función no se pudo ejecutar, haga lo siguiente:
   + Compruebe que el rol de IAM que creó en [Parte 1: crear un rol de IAM](#monitoring-sender-reputation-pausing-account-part-1) contiene las políticas correctas.
   + Compruebe que el código de la función de Lambda no contiene ningún error. El editor de código de Lambda resalta automáticamente los errores de sintaxis y otros posibles problemas.

## Parte 3: volver a habilitar el envío de correos electrónicos en su cuenta
<a name="monitoring-sender-reputation-pausing-account-part-3"></a>

Un efecto secundario de probar la función de Lambda en [Parte 2: crear la función de Lambda](#monitoring-sender-reputation-pausing-account-part-2) es que el envío de correo electrónico de su cuenta de Amazon SES se suspende. En la mayoría de los casos, no querrás pausar el envío a tu cuenta hasta que se active la CloudWatch alarma.

Los procedimientos de esta sección vuelven a habilitar el envío de correo electrónico en su cuenta de Amazon SES. Para completar estos procedimientos, debe instalar y configurar la AWS Command Line Interface. Para obtener más información, consulte la [Guía del usuario de AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/).

**Para volver a habilitar el envío de correo electrónico**

1. En la línea de comandos, escriba el siguiente comando para volver a habilitar el envío de correos electrónicos para su cuenta. *sending\$1region*Sustitúyalo por el nombre de la región en la que quieres volver a habilitar el envío de correo electrónico.

   ```
   aws ses update-account-sending-enabled --enabled --region sending_region
   ```

1. En la línea de comandos, escriba el siguiente comando para verificar el estado del envío de correos electrónicos para su cuenta:

   ```
   aws ses get-account-sending-enabled --region sending_region
   ```

   Si ve el siguiente resultado, entonces ha vuelto a habilitar correctamente el envío de correos electrónicos en su cuenta:

   ```
   {
       "Enabled": true 
   }
   ```

## Parte 4: Crear un tema de Amazon SNS y una suscripción
<a name="monitoring-sender-reputation-pausing-account-part-4"></a>

 CloudWatch Para ejecutar la función Lambda cuando se active una alarma, primero debe crear un tema de Amazon SNS y suscribir la función Lambda a él.

**Para crear el tema de Amazon SNS y suscribirle la función de Lambda**

1. [Abra la consola Amazon SNS en https://console.aws.amazon.com/sns/ la versión 3/home.](https://console.aws.amazon.com/sns/v3/home)

1. [Cree un tema](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) siguiendo los pasos de la *Guía para desarrolladores de Amazon Simple Notification Service*.

   1. El **Type** (Tipo) debe ser **Standard** (Estándar) (no **FIFO**).

1. [Suscríbase al tema](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) siguiendo los pasos de la *Guía para desarrolladores de Amazon Simple Notification Service*.

   1. En **Protocolo**, elija **AWS Lambda**.

   1. En **Endpoint** (Punto de enlace), elija la función de Lambda que creó en [Parte 2: crear la función de Lambda](#monitoring-sender-reputation-pausing-account-part-2).

## Parte 5: Crear una alarma CloudWatch
<a name="monitoring-sender-reputation-pausing-account-part-5"></a>

Esta sección contiene los procedimientos para crear una alarma CloudWatch que se active cuando una métrica alcanza un determinado umbral. Cuando se desencadena la alarma, se envía una notificación al tema de Amazon SNS que creó en [Parte 4: Crear un tema de Amazon SNS y una suscripción](#monitoring-sender-reputation-pausing-account-part-4), que a su vez ejecuta la función de Lambda que creó en [Parte 2: crear la función de Lambda](#monitoring-sender-reputation-pausing-account-part-2).

**Para crear una CloudWatch alarma**

1. Abra la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Utilice el selector de regiones para elegir la región en la que desea suspender automáticamente el envío de correos electrónicos.

1. En el panel de navegación, elija **Alarmas**.

1. Elija **Create Alarm** (Crear alarma).

1. En la ventana **Create Alarm** (Crear alarma), en **SES Metrics** (Métricas de SES), elija **Account Metrics** (Métricas de la cuenta).

1. En **Metric Name** (Nombre de métrica), elija una de las siguientes opciones:
   + **Reputación. BounceRate** — Elige esta métrica si quieres pausar el envío de correos electrónicos para tu cuenta cuando la tasa general de rebote fijo de tu cuenta supere el umbral que tú definas.
   + **Reputación. ComplaintRate** — Elige esta métrica si quieres pausar el envío de correos electrónicos para tu cuenta cuando la tasa general de quejas de tu cuenta supere el umbral que tú definas.

   Elija **Siguiente**.

1. Realice los siguientes pasos:
   + En **Alarm Threshold** (Umbral de alarma), para **Name** (Nombre), escriba un nombre para la alarma.
   + En **Whenever: Reputación. BounceRate**O **cuando sea: Reputación. ComplaintRate**, especifique el umbral que hace que se active la alarma.
**nota**  
Su cuenta se pone automáticamente en proceso de revisión si la tasa de rebotes supera el 5 %, o si la tasa de quejas supera el 0,1 %. Cuando especifiques el porcentaje de rebote o de quejas que hace que se active la CloudWatch alarma, te recomendamos que utilices valores inferiores a estos porcentajes para evitar que tu cuenta sea objeto de revisión.
   + En **Acciones**, en **Siempre que esta alarma**, seleccione **El estado es ALARMA**. En **Send notification to** (Enviar notificación a), elija el tema de Amazon SNS que creó en [Parte 4: Crear un tema de Amazon SNS y una suscripción](#monitoring-sender-reputation-pausing-account-part-4).

   Elija **Crear alarma**.

## Parte 6: probar la solución
<a name="monitoring-sender-reputation-pausing-account-part-6"></a>

Ahora puede probar la alarma para asegurarse de que se ejecuta la función de Lambda cuando entra en el estado `ALARM`. Puede utilizar la operación de la API `SetAlarmState` para cambiar temporalmente el estado de la alarma.

Los procedimientos de esta sección son opcionales, pero le recomendamos que los realice para asegurarse de que toda la solución está configurada correctamente.

1. En la línea de comandos, escriba el siguiente comando para verificar el estado del envío de correos electrónicos para su cuenta. *region*Sustitúyalos por el nombre de la región.

   ```
   aws ses get-account-sending-enabled --region region
   ```

   Si el envío está activado para su cuenta, puede ver el siguiente resultado:

   ```
   {
       "Enabled": true 
   }
   ```

1. En la línea de comandos, escriba el comando siguiente para cambiar temporalmente el estado de la alarma a `ALARM`: **aws cloudwatch set-alarm-state --alarm-name *MyAlarm* --state-value ALARM --state-reason "Testing execution of Lambda function" --region *region***

   Sustituya *MyAlarm* el comando anterior por el nombre de la alarma en [Parte 5: Crear una alarma CloudWatch](#monitoring-sender-reputation-pausing-account-part-5) la que creó y *region* sustitúyalo por la región en la que desea pausar automáticamente el envío de correo electrónico.
**nota**  
Cuando ejecute este comando, el estado de la alarma pasa de `OK` a `ALARM` y luego otra vez a `OK` al cabo de unos segundos. Puede ver estos cambios de estado en la pestaña **Historial** de la alarma en la CloudWatch consola o mediante la [DescribeAlarmHistory](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html)operación.

1. En la línea de comandos, escriba el siguiente comando para verificar el estado del envío de correos electrónicos para su cuenta.

   ```
   aws ses get-account-sending-enabled --region region
   ```

   Si la función de Lambda se ha ejecutado correctamente, se muestra el resultado siguiente:

   ```
   {
       "Enabled": false
   }
   ```

1. Realice los pasos de [Parte 3: volver a habilitar el envío de correos electrónicos en su cuenta](#monitoring-sender-reputation-pausing-account-part-3) para volver a habilitar el envío de correos electrónicos en su cuenta.