Usando regras de recebimento no 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.

Usando regras de recebimento no Amazon SES

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Crie e exclua regras de recebimento.

  • Organize regras de recebimento em conjuntos de regras de recebimento.

As regras de recebimento no Amazon SES especificam o que fazer com e-mails recebidos para endereços de e-mail ou domínios que você possui. Uma regra de recebimento contém uma condição e uma lista ordenada de ações. Se o destinatário de um e-mail recebido corresponder a um destinatário especificado nas condições da regra de recebimento, o Amazon SES executará as ações especificadas nessa regra de recebimento.

Para usar o Amazon SES como seu receptor de e-mails, você deve ter, pelo menos, um conjunto de regras de recebimento ativo. O conjunto de regras de recebimento é uma coleção ordenada de regras de recebimento que especifica o que o Amazon SES deverá fazer com os e-mails recebidos em seus domínios verificados. Para obter mais informações, consulte Criar regras de recebimento para o recebimento de e-mails do Amazon SES e Criar um conjunto de regras de recebimento para o 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:

Criar uma regra de recebimento do Amazon S3

Cada regra de recebimento do Amazon SES contém uma lista ordenada de ações. Este exemplo cria uma regra de recebimento com uma ação do Amazon S3, que fornece a mensagem de e-mail para um bucket do Amazon S3. Para obter detalhes sobre as ações das regras de recebimento, consulte Opções de ação no Guia do desenvolvedor do Amazon Simple Email Service.

Para o Amazon SES gravar o e-mail em um bucket do Amazon S3, crie uma política de bucket que conceda a permissão PutObject para o Amazon SES. Para obter informações sobre a criação dessa política de bucket, consulte Conceder permissão ao Amazon SES para gravar em seu bucket do Amazon S3 no Guia do desenvolvedor do Amazon Simple Email Service.

Neste exemplo, use um módulo do Node.js para criar uma regra de recebimento no Amazon SES para salvar mensagens recebidas em um bucket do Amazon S3. Crie um módulo do Node.js com o nome de arquivo ses_createreceiptrule.js. Configure o SDK como mostrado anteriormente.

Crie um objeto de parâmetros para passar os valores necessários a serem criados para o conjunto de regras de recebimento. Para chamar o método createReceiptRuleSet, 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 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 executar o exemplo, digite o seguinte na linha de comando. O Amazon SES cria a regra de recebimento.

node ses_createreceiptrule.js

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

Exclusão de uma regra de recebimento

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_deletereceiptrule.js. Configure o SDK como mostrado anteriormente.

Crie um objeto de parâmetros para passar o nome que a regra de recebimento deve excluir. Para chamar o método deleteReceiptRule, 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 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 executar o exemplo, digite o seguinte na linha de comando. O Amazon SES cria a lista do conjunto de regras de recebimento.

node ses_deletereceiptrule.js

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

Criação de um conjunto de regras de recebimento

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_createreceiptruleset.js. Configure o SDK como mostrado anteriormente.

Crie um objeto de parâmetros para passar o nome do novo conjunto de regras de recebimento. Para chamar o método createReceiptRuleSet, 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 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 executar o exemplo, digite o seguinte na linha de comando. O Amazon SES cria a lista do conjunto de regras de recebimento.

node ses_createreceiptruleset.js

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

Exclusão de um conjunto de regras de recebimento

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_deletereceiptruleset.js. Configure o SDK como mostrado anteriormente.

Crie um objeto para passar o nome que o conjunto de regra do recebimento deve excluir. Para chamar o método deleeReceiptRuleSet, 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 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 executar o exemplo, digite o seguinte na linha de comando. O Amazon SES cria a lista do conjunto de regras de recebimento.

node ses_deletereceiptruleset.js

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