Usar filtros de endereços IP para o recebimento de e-mails do Amazon SES - AWS SDK for JavaScript

Anunciamos o próximo fim do suporte para o AWS SDK for JavaScript v2. Recomendamos migrar para o AWS SDK for JavaScript v3. Para saber as datas e receber detalhes adicionais e informações sobre como migrar, consulte o anúncio vinculado.

Usar filtros de endereços IP para o recebimento de e-mails do Amazon SES

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Crie filtros de endereços IP para aceitar ou rejeitar e-mails provenientes de um endereço IP ou de um intervalo de endereços IP.

  • Liste seus filtros atuais de endereços IP.

  • Exclua um filtro de endereço IP.

No Amazon SES, um filtro é uma estrutura de dados formada por nome, intervalo de endereços IP e se deseja-se permitir ou bloquear e-mails dele. Os endereços IP que você deseja bloquear ou permitir são especificados como endereço IP único ou intervalo de endereços IP na notação Classless Inter-Domain Routing (CIDR). Para obter detalhes sobre como o Amazon SES recebe e-mails, consulte Conceitos de recebimento de e-mails do Amazon SES no Guia do desenvolvedor do Amazon Simple Email Service.

O cenário

Neste exemplo, uma série de módulos do Node.js é usada para enviar e-mails de várias maneiras. Os módulos do Node.js usam o SDK para JavaScript para criar e usar modelos de e-mail com estes métodos da classe de cliente do AWS.SES:

Tarefas de pré-requisito

Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:

Como configurar o SDK

Configure o SDK para JavaScript criando um objeto de configuração global e definindo a região do código. Neste exemplo, a região é definida como us-west-2.

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

Criar um filtro de endereços IP

Neste exemplo, use um módulo do Node.js para enviar e-mail com o Amazon SES. Crie um módulo do Node.js com o nome de arquivo ses_createreceiptfilter.js. Configure o SDK como mostrado anteriormente.

Crie um objeto para passar os valores de parâmetro que definem o filtro IP, incluindo nome do filtro, endereço IP ou um intervalo de endereços para filtrar e se deseja-se permitir ou bloquear o tráfego vindo dos endereços de e-mail filtrados. Para chamar o método createReceiptFilter, crie uma promessa para invocar um objeto de serviço do Amazon SES passando os parâmetros. Depois, lide com response no retorno de chamada da promessa.

// 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 executar o exemplo, digite o seguinte na linha de comando. O filtro é criado no Amazon SES.

node ses_createreceiptfilter.js

Este código de exemplo pode ser encontrado aqui no GitHub.

Listar os filtros dos seus endereços IP

Neste exemplo, use um módulo do Node.js para enviar e-mail com o Amazon SES. Crie um módulo do Node.js com o nome de arquivo ses_listreceiptfilters.js. Configure o SDK como mostrado anteriormente.

Crie um objeto de parâmetros vazio. Para chamar o método listReceiptFilters, crie uma promessa para invocar um objeto de serviço do Amazon SES passando os parâmetros. Depois, lide com response no retorno de chamada da promessa.

// 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 executar o exemplo, digite o seguinte na linha de comando. O Amazon SES retorna a lista de filtros.

node ses_listreceiptfilters.js

Este código de exemplo pode ser encontrado aqui no GitHub.

Exclusão de um filtro de endereços IP

Neste exemplo, use um módulo do Node.js para enviar e-mail com o Amazon SES. Crie um módulo do Node.js com o nome de arquivo ses_deletereceiptfilter.js. Configure o SDK como mostrado anteriormente.

Crie um objeto para passar o nome do filtro IP a ser excluído. Para chamar o método deleteReceiptFilter, crie uma promessa para invocar um objeto de serviço do Amazon SES passando os parâmetros. Depois, lide com response no retorno de chamada da promessa.

// 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 executar o exemplo, digite o seguinte na linha de comando. O filtro é excluído do Amazon SES.

node ses_deletereceiptfilter.js

Este código de exemplo pode ser encontrado aqui no GitHub.