O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3).
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Trabalhar com modelos de e-mail no Amazon SES
Este exemplo de código Node.js mostra:
Como obter uma lista de todos os modelos de e-mail.
Como recuperar e atualizar os modelos de e-mail.
Como criar e excluir 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 SES, 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 Node.js usam o SDK JavaScript para criar e usar modelos de e-mail usando esses métodos da classe SES cliente:
Tarefas de pré-requisito
Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:
-
Configure o ambiente do projeto para executar esses TypeScript exemplos de Node e instale os módulos necessários AWS SDK para JavaScript e de terceiros. Siga as instruções em GitHub
.
-
Crie um arquivo de configurações compartilhado com as credenciais de usuário. Para obter mais informações sobre como fornecer um arquivo de credenciais compartilhado, consulte Arquivos de configuração e credenciais compartilhados no Guia de referência de ferramentas AWS SDKs e ferramentas.
Importante
Esses exemplos demonstram como atender ao import/export cliente objetos e comandar usando ECMAScript6 (ES6).
Isso requer o Node.js versão 13.x ou superior. Para baixar e instalar a versão mais recente do Node.js, consulte Downloads do Node.js
. Se você preferir usar a sintaxe do CommonJS, consulte Sintaxe ES6/CommonJS de JavaScript.
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 diretório libs e um módulo do Node.js com o nome de arquivo sesClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon SES. REGIONSubstitua pela sua AWS região.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Credentials are automatically resolved using the AWS SDK credential provider chain. // For more information, see https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui em GitHub
Crie um módulo do Node.js com o nome de arquivo ses_listtemplates.js. Configure o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários.
Crie um objeto para passar os parâmetros para o método ListTemplatesCommand da classe de cliente SES. Para chamar o método ListTemplatesCommand, invoque um objeto de serviço de cliente do Amazon SES, passando os parâmetros.
nota
Este exemplo importa e usa os clientes do pacote AWS Service V3 necessários, os comandos V3 e usa o send método em um async/await padrão. Em vez disso, você pode criar esse exemplo usando comandos da V2 fazendo algumas pequenas alterações. Para obter detalhes, consulte Usar comandos da v3.
import { ListTemplatesCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const createListTemplatesCommand = (maxItems) => new ListTemplatesCommand({ MaxItems: maxItems }); const run = async () => { const listTemplatesCommand = createListTemplatesCommand(10); try { return await sesClient.send(listTemplatesCommand); } catch (err) { console.log("Failed to list templates.", err); return err; } };
Para executar o exemplo, digite o seguinte no prompt de comando. O Amazon SES retorna a lista de modelos.
node ses_listtemplates.js
Esse código de exemplo pode ser encontrado aqui em 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 diretório libs e um módulo do Node.js com o nome de arquivo sesClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon SES. REGIONSubstitua pela sua AWS região.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Credentials are automatically resolved using the AWS SDK credential provider chain. // For more information, see https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui em GitHub
Crie um módulo do Node.js com o nome de arquivo ses_gettemplate.js. Configure o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários.
Crie um objeto para passar o parâmetro TemplateName para o método GetTemplateCommand da classe de cliente SES. Para chamar o método GetTemplateCommand, invoque um objeto de serviço de cliente do Amazon SES, passando os parâmetros.
nota
Este exemplo importa e usa os clientes do pacote AWS Service V3 necessários, os comandos V3 e usa o send método em um async/await padrão. Em vez disso, você pode criar esse exemplo usando comandos da V2 fazendo algumas pequenas alterações. Para obter detalhes, consulte Usar comandos da v3.
nota
TEMPLATE_NAMESubstitua pelo nome do modelo a ser devolvido.
import { GetTemplateCommand } from "@aws-sdk/client-ses"; import { getUniqueName } from "@aws-doc-sdk-examples/lib/utils/util-string.js"; import { sesClient } from "./libs/sesClient.js"; const TEMPLATE_NAME = getUniqueName("TemplateName"); const createGetTemplateCommand = (templateName) => new GetTemplateCommand({ TemplateName: templateName }); const run = async () => { const getTemplateCommand = createGetTemplateCommand(TEMPLATE_NAME); try { return await sesClient.send(getTemplateCommand); } catch (caught) { if (caught instanceof Error && caught.name === "MessageRejected") { /** @type { import('@aws-sdk/client-ses').MessageRejected} */ const messageRejectedError = caught; return messageRejectedError; } throw caught; } };
Para executar o exemplo, digite o seguinte no prompt de comando. O Amazon SES retorna os detalhes do modelo.
node ses_gettemplate.js
Esse código de exemplo pode ser encontrado aqui em 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 diretório libs e um módulo do Node.js com o nome de arquivo sesClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon SES. REGIONSubstitua pela sua AWS região.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Credentials are automatically resolved using the AWS SDK credential provider chain. // For more information, see https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui em GitHub
Crie um módulo do Node.js com o nome de arquivo ses_createtemplate.js. Configure o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários.
Crie um objeto para passar os parâmetros do método CreateTemplateCommand da classe de cliente SES, incluindo TemplateName, HtmlPart, SubjectPart e TextPart. Para chamar o método CreateTemplateCommand, invoque um objeto de serviço de cliente do Amazon SES, passando os parâmetros.
nota
Este exemplo importa e usa os clientes do pacote AWS Service V3 necessários, os comandos V3 e usa o send método em um async/await padrão. Em vez disso, você pode criar esse exemplo usando comandos da V2 fazendo algumas pequenas alterações. Para obter detalhes, consulte Usar comandos da v3.
nota
TEMPLATE_NAMESubstitua por um nome para o novo modelo, HtmlPart pelo conteúdo do e-mail marcado em HTML e SubjectPart pelo assunto do e-mail.
import { CreateTemplateCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; import { getUniqueName } from "@aws-doc-sdk-examples/lib/utils/util-string.js"; const TEMPLATE_NAME = getUniqueName("TestTemplateName"); const createCreateTemplateCommand = () => { return new CreateTemplateCommand({ /** * The template feature in Amazon SES is based on the Handlebars template system. */ Template: { /** * The name of an existing template in Amazon SES. */ TemplateName: TEMPLATE_NAME, HtmlPart: ` <h1>Hello, {{contact.firstName}}!</h1> <p> Did you know Amazon has a mascot named Peccy? </p> `, SubjectPart: "Amazon Tip", }, }); }; const run = async () => { const createTemplateCommand = createCreateTemplateCommand(); try { return await sesClient.send(createTemplateCommand); } catch (err) { console.log("Failed to create template.", err); return err; } };
Para executar o exemplo, digite o seguinte no prompt de comando. O modelo é adicionado ao Amazon SES.
node ses_createtemplate.js
Esse código de exemplo pode ser encontrado aqui em GitHub
Atualização de 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 diretório libs e um módulo do Node.js com o nome de arquivo sesClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon SES. REGIONSubstitua pela sua AWS região.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Credentials are automatically resolved using the AWS SDK credential provider chain. // For more information, see https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui em GitHub
Crie um módulo do Node.js com o nome de arquivo ses_updatetemplate.js. Configure o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários.
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 UpdateTemplateCommand da classe de cliente SES. Para chamar o método UpdateTemplateCommand, invoque um objeto de serviço do Amazon SES, passando os parâmetros.
nota
Este exemplo importa e usa os clientes do pacote AWS Service V3 necessários, os comandos V3 e usa o send método em um async/await padrão. Em vez disso, você pode criar esse exemplo usando comandos da V2 fazendo algumas pequenas alterações. Para obter detalhes, consulte Usar comandos da v3.
nota
TEMPLATE_NAMESubstitua pelo nome do modelo e HTML_PART pelo conteúdo do e-mail marcado em HTML.
import { UpdateTemplateCommand } from "@aws-sdk/client-ses"; import { getUniqueName } from "@aws-doc-sdk-examples/lib/utils/util-string.js"; import { sesClient } from "./libs/sesClient.js"; const TEMPLATE_NAME = getUniqueName("TemplateName"); const HTML_PART = "<h1>Hello, World!</h1>"; const createUpdateTemplateCommand = () => { return new UpdateTemplateCommand({ Template: { TemplateName: TEMPLATE_NAME, HtmlPart: HTML_PART, SubjectPart: "Example", TextPart: "Updated template text.", }, }); }; const run = async () => { const updateTemplateCommand = createUpdateTemplateCommand(); try { return await sesClient.send(updateTemplateCommand); } catch (err) { console.log("Failed to update template.", err); return err; } };
Para executar o exemplo, digite o seguinte no prompt de comando. O Amazon SES retorna os detalhes do modelo.
node ses_updatetemplate.js
Esse código de exemplo pode ser encontrado aqui em GitHub
Exclusão de 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 diretório libs e um módulo do Node.js com o nome de arquivo sesClient.js. Copie e cole o código abaixo nele, o que cria o objeto de cliente do Amazon SES. REGIONSubstitua pela sua AWS região.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Credentials are automatically resolved using the AWS SDK credential provider chain. // For more information, see https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui em GitHub
Crie um módulo do Node.js com o nome de arquivo ses_deletetemplate.js. Configure o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários.
Crie um objeto para passar o parâmetro TemplateName obrigatório para o método DeleteTemplateCommand da classe de cliente SES. Para chamar o método DeleteTemplateCommand, invoque um objeto de serviço do Amazon SES, passando os parâmetros.
nota
Este exemplo importa e usa os clientes do pacote AWS Service V3 necessários, os comandos V3 e usa o send método em um async/await padrão. Em vez disso, você pode criar esse exemplo usando comandos da V2 fazendo algumas pequenas alterações. Para obter detalhes, consulte Usar comandos da v3.
nota
TEMPLATE_NAMESubstitua pelo nome do modelo a ser excluído.
import { DeleteTemplateCommand } from "@aws-sdk/client-ses"; import { getUniqueName } from "@aws-doc-sdk-examples/lib/utils/util-string.js"; import { sesClient } from "./libs/sesClient.js"; const TEMPLATE_NAME = getUniqueName("TemplateName"); const createDeleteTemplateCommand = (templateName) => new DeleteTemplateCommand({ TemplateName: templateName }); const run = async () => { const deleteTemplateCommand = createDeleteTemplateCommand(TEMPLATE_NAME); try { return await sesClient.send(deleteTemplateCommand); } catch (err) { console.log("Failed to delete template.", err); return err; } };
Para executar o exemplo, digite o seguinte no prompt de comando. O Amazon SES retorna os detalhes do modelo.
node ses_deletetemplate.js
Esse código de exemplo pode ser encontrado aqui em GitHub