Lidar com modelos de e-mail no Amazon SES - AWS SDK para JavaScript

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

Lidar com modelos de e-mail no Amazon SES

JavaScript code example that applies to Node.js execution

Este exemplo de código Node.js mostra:

  • Obter uma lista de todos os modelos de e-mail

  • Recupere e atualize os modelos de e-mail.

  • Crie e exclua os modelos de e-mail.

O Amazon SES permite que você envie mensagens de e-mail personalizadas usando modelos de e-mail. Para obter detalhes sobre como criar e usar modelos de e-mail no Amazon Simple Email Service, consulte Envio de e-mail personalizado usando a API do Amazon SES no Guia do desenvolvedor do Amazon Simple Email Service.

O cenário

Neste exemplo, você usa uma série de módulos do Node.js para trabalhar com modelos de e-mail. 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:

Listar seus modelos de e-mail

Neste exemplo, use um módulo do Node.js para criar um modelo de e-mail a ser usado com o Amazon SES. Crie um módulo do Node.js com o nome de arquivo ses_listtemplates.js. Configure o SDK como mostrado anteriormente.

Crie um objeto para passar os parâmetros para o método listTemplates da classe de cliente AWS.SES. Para chamar o método listTemplates, 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 templatePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .listTemplates({ MaxItems: ITEMS_COUNT }) .promise(); // Handle promise's fulfilled/rejected states templatePromise .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 retorna a lista de modelos.

node ses_listtemplates.js

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

Obter um modelo de e-mail

Neste exemplo, use um módulo do Node.js para obter um modelo de e-mail a ser usado com o Amazon SES. Crie um módulo do Node.js com o nome de arquivo ses_gettemplate.js. Configure o SDK como mostrado anteriormente.

Crie um objeto para passar o parâmetro TemplateName para o método getTemplate da classe de cliente AWS.SES. Para chamar o método getTemplate, 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 AWS Region. AWS.config.update({ region: "REGION" }); // Create the promise and Amazon Simple Email Service (Amazon SES) service object. var templatePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .getTemplate({ TemplateName: "TEMPLATE_NAME" }) .promise(); // Handle promise's fulfilled/rejected states templatePromise .then(function (data) { console.log(data.Template.SubjectPart); }) .catch(function (err) { console.error(err, err.stack); });

Para executar o exemplo, digite o seguinte na linha de comando. O Amazon SES retorna os detalhes do modelo.

node ses_gettemplate.js

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

Criar um modelo de e-mail

Neste exemplo, use um módulo do Node.js para criar um modelo de e-mail a ser usado com o Amazon SES. Crie um módulo do Node.js com o nome de arquivo ses_createtemplate.js. Configure o SDK como mostrado anteriormente.

Crie um objeto para passar os parâmetros do método createTemplate da classe de cliente AWS.SES, incluindo TemplateName, HtmlPart, SubjectPart e TextPart. Para chamar o método createTemplate, 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 createTemplate params var params = { Template: { TemplateName: "TEMPLATE_NAME" /* required */, HtmlPart: "HTML_CONTENT", SubjectPart: "SUBJECT_LINE", TextPart: "TEXT_CONTENT", }, }; // Create the promise and SES service object var templatePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .createTemplate(params) .promise(); // Handle promise's fulfilled/rejected states templatePromise .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 modelo é adicionado ao Amazon SES.

node ses_createtemplate.js

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

Atualizar um modelo de e-mail

Neste exemplo, use um módulo do Node.js para criar um modelo de e-mail a ser usado com o Amazon SES. Crie um módulo do Node.js com o nome de arquivo ses_updatetemplate.js. Configure o SDK como mostrado anteriormente.

Crie um objeto para passar os valores do parâmetro Template que você deseja atualizar no modelo, com o parâmetro TemplateName passado para o método updateTemplate da classe de cliente AWS.SES. Para chamar o método updateTemplate, 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 updateTemplate parameters var params = { Template: { TemplateName: "TEMPLATE_NAME" /* required */, HtmlPart: "HTML_CONTENT", SubjectPart: "SUBJECT_LINE", TextPart: "TEXT_CONTENT", }, }; // Create the promise and SES service object var templatePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .updateTemplate(params) .promise(); // Handle promise's fulfilled/rejected states templatePromise .then(function (data) { console.log("Template Updated"); }) .catch(function (err) { console.error(err, err.stack); });

Para executar o exemplo, digite o seguinte na linha de comando. O Amazon SES retorna os detalhes do modelo.

node ses_updatetemplate.js

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

Excluir um modelo de e-mail

Neste exemplo, use um módulo do Node.js para criar um modelo de e-mail a ser usado com o Amazon SES. Crie um módulo do Node.js com o nome de arquivo ses_deletetemplate.js. Configure o SDK como mostrado anteriormente.

Crie um objeto para passar o parâmetro TemplateName obrigatório para o método deleteTemplate da classe de cliente AWS.SES. Para chamar o método deleteTemplate, 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 templatePromise = new AWS.SES({ apiVersion: "2010-12-01" }) .deleteTemplate({ TemplateName: "TEMPLATE_NAME" }) .promise(); // Handle promise's fulfilled/rejected states templatePromise .then(function (data) { console.log("Template Deleted"); }) .catch(function (err) { console.error(err, err.stack); });

Para executar o exemplo, digite o seguinte na linha de comando. O Amazon SES retorna os detalhes do modelo.

node ses_deletetemplate.js

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