Uso de filtros de direcciones IP para recibir correos electrónicos 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 filtros de direcciones IP para recibir correos electrónicos en Amazon SES

JavaScript code example that applies to Node.js execution

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

  • Crear filtros de direcciones IP para aceptar o rechazar correo que proceda de una dirección IP o de un rango de direcciones IP.

  • Generar una lista de filtros de direcciones IP actuales.

  • Eliminar un filtro de direcciones IP.

En Amazon SES, un filtro es una estructura de datos que contiene un nombre y un intervalo de direcciones IP y que indica si se permite o se bloquea correo electrónico procedente de dicho rango. Las direcciones IP que quiere bloquear o permitir se indican por medio de una única dirección IP o un intervalo de direcciones IP en notación de enrutamiento entre dominios sin clases (CIDR). Para obtener más información sobre cómo Amazon SES recibe el correo electrónico, consulte Conceptos de recepción de correo electrónico 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:

Configuración del SDK

Configure el SDK para JavaScript creando un objeto de configuración global y luego configurando la región para su código. En este ejemplo, la región está establecida en us-west-2.

// Load the SDK for JavaScript var AWS = require('aws-sdk'); // Set the Region AWS.config.update({region: 'us-west-2'});

Creación de un filtro de direcciones IP

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_createreceiptfilter.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto para transferir los valores de los parámetros que definen el filtro de IP, como el nombre del filtro, una dirección IP o un intervalo de direcciones que deben filtrarse y si se permitirá o se bloqueará el tráfico de correo electrónico de las direcciones filtradas. Para llamar al método createReceiptFilter, 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 createReceiptFilter params var params = { Filter: { IpFilter: { Cidr: "IP_ADDRESS_OR_RANGE", Policy: "Allow" | "Block", }, Name: "NAME", }, }; // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .createReceiptFilter(params) .promise(); // Handle promise's fulfilled/rejected states sendPromise .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. El filtro se crea en Amazon SES.

node ses_createreceiptfilter.js

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

Generación de una lista de sus filtros de direcciones IP

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_listreceiptfilters.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto de parámetros vacío. Para llamar al método listReceiptFilters, 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 sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .listReceiptFilters({}) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log(data.Filters); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES devuelve la lista de filtros.

node ses_listreceiptfilters.js

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

Eliminación de un filtro de direcciones IP

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_deletereceiptfilter.js. Configure el SDK como le hemos mostrado anteriormente.

Cree un objeto para transferir el nombre del filtro IP que desea eliminar. Para llamar al método deleteReceiptFilter, 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 sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .deleteReceiptFilter({ FilterName: "NAME" }) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log("IP Filter deleted"); }) .catch(function (err) { console.error(err, err.stack); });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. El filtro se elimina de Amazon SES.

node ses_deletereceiptfilter.js

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