Uso de reglas de recepción en Amazon SES - AWS SDK for JavaScript

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Uso de reglas de recepción en Amazon SES

JavaScript code example that applies to Node.js execution

Este ejemplo de código de Node.js muestra:

  • Crear y eliminar reglas de recepción.

  • Organizar reglas de recepción en conjuntos de reglas de recepción.

Las reglas de recepción de Amazon SES especifican qué debe hacerse con el correo electrónico que recibe de las direcciones de correo electrónico o los dominios de su propiedad. Una regla de recepción contiene una condición y una lista de acciones que siguen un orden. Si el destinatario de un correo electrónico entrante coincide con un destinatario que se ha especificado en las condiciones de la regla de recepción, Amazon SES ejecutará las acciones indicadas en dicha regla de recepción.

Para utilizar Amazon SES como receptor de correo electrónico, debe tener al menos un conjunto de reglas de recepción activo. Un conjunto de reglas de recepción es una colección ordenada de reglas de recepción que especifican cómo debe proceder Amazon SES con los correos electrónicos que recibe a través de dominios verificados. Para obtener más información, consulte Creación de reglas de recepción para recepción de correos electrónicos de Amazon SES y Creación de un conjunto de reglas de recepción para recibir correos electrónicos de Amazon SES en la Guía para desarrolladores de Amazon Simple Email Service.

El escenario

En este ejemplo, se usan una serie de módulos de Node.js para enviar correos electrónicos de distintas maneras. Los módulos de Node.js utilizan el SDK para JavaScript para crear y usar plantillas de correo electrónico mediante los métodos siguientes de la clase de cliente de Amazon SES:

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:

Creación de una regla de recepción de Amazon S3

Cada regla de recepción de Amazon SES contiene una lista ordenada de acciones. En este ejemplo se crea una regla de recepción con una acción de Amazon S3, que entrega el mensaje de correo electrónico a un bucket de Amazon S3. Para obtener más información sobre las acciones de las reglas de recepción, consulte Opciones de acción en la Guía para desarrolladores de Amazon Simple Email Service.

Para que Amazon SES escriba correo electrónico en un bucket de Amazon S3, cree una política de bucket que conceda permiso PutObject a Amazon SES. Para obtener información sobre la creación de esta política de bucket, consulte Conceder permiso a Amazon SES para escribir en su bucket de Amazon S3 en la Guía para desarrolladores de Amazon Simple Email Service.

En este ejemplo, utilice un módulo de Node.js para crear una regla de recepción en Amazon SES y guardar los mensajes recibidos en un bucket de Amazon S3. Cree un módulo de Node.js con el nombre de archivo ses_createreceiptrule.js. Configure el SDK como le hemos mostrado anteriormente.

Crear un objeto de parámetros para transferir los valores necesarios para crear un conjunto de reglas de recepción. Para llamar al método createReceiptRuleSet, cree una promesa para invocar un objeto de servicio de Amazon SES transfiriendo los parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create createReceiptRule params var params = { Rule: { Actions: [ { S3Action: { BucketName: "S3_BUCKET_NAME", ObjectKeyPrefix: "email", }, }, ], Recipients: [ "DOMAIN | EMAIL_ADDRESS", /* more items */ ], Enabled: true | false, Name: "RULE_NAME", ScanEnabled: true | false, TlsPolicy: "Optional", }, RuleSetName: "RULE_SET_NAME", }; // Create the promise and SES service object var newRulePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .createReceiptRule(params) .promise(); // Handle promise's fulfilled/rejected states newRulePromise .then(function (data) { console.log("Rule created"); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES crea la regla de recepción.

node ses_createreceiptrule.js

Este código de ejemplo se puede encontrar aquí en GitHub.

Eliminación de una regla de recepción

En este ejemplo, utilice un módulo de Node.js para enviar un correo electrónico con Amazon SES. Cree un módulo de Node.js con el nombre de archivo ses_deletereceiptrule.js. Configure el SDK como le hemos mostrado anteriormente.

Crear un objeto de parámetros para transferir el nombre de la regla de recepción que se desea eliminar. Para llamar al método deleteReceiptRule, cree una promesa para invocar un objeto de servicio de Amazon SES transfiriendo los parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create deleteReceiptRule params var params = { RuleName: "RULE_NAME" /* required */, RuleSetName: "RULE_SET_NAME" /* required */, }; // Create the promise and SES service object var newRulePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .deleteReceiptRule(params) .promise(); // Handle promise's fulfilled/rejected states newRulePromise .then(function (data) { console.log("Receipt Rule Deleted"); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES crea la lista de conjuntos de reglas de recepción.

node ses_deletereceiptrule.js

Este código de ejemplo se puede encontrar aquí en GitHub.

Creación de un conjunto de reglas de recepción

En este ejemplo, utilice un módulo de Node.js para enviar un correo electrónico con Amazon SES. Cree un módulo de Node.js con el nombre de archivo ses_createreceiptruleset.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto de parámetros para transferir el nombre del nuevo conjunto de reglas de recepción. Para llamar al método createReceiptRuleSet, cree una promesa para invocar un objeto de servicio de Amazon SES transfiriendo los parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the promise and SES service object var newRulePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .createReceiptRuleSet({ RuleSetName: "NAME" }) .promise(); // Handle promise's fulfilled/rejected states newRulePromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES crea la lista de conjuntos de reglas de recepción.

node ses_createreceiptruleset.js

Este código de ejemplo se puede encontrar aquí en GitHub.

Eliminación de un conjunto de reglas de recepción

En este ejemplo, utilice un módulo de Node.js para enviar un correo electrónico con Amazon SES. Cree un módulo de Node.js con el nombre de archivo ses_deletereceiptruleset.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto para transferir el nombre del conjunto de reglas de recepción que desea eliminar. Para llamar al método deleeReceiptRuleSet, cree una promesa para invocar un objeto de servicio de Amazon SES transfiriendo los parámetros. Luego gestione la response en la devolución de llamada de la promesa.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the promise and SES service object var newRulePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .deleteReceiptRuleSet({ RuleSetName: "NAME" }) .promise(); // Handle promise's fulfilled/rejected states newRulePromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES crea la lista de conjuntos de reglas de recepción.

node ses_deletereceiptruleset.js

Este código de ejemplo se puede encontrar aquí en GitHub.