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).
Gerenciamento de identidades do Amazon SES
Este exemplo de código Node.js mostra:
Como verificar endereços de e-mail e domínios usados com o Amazon SES.
Como atribuir a política do AWS Identity and Access Management (IAM) às suas identidades do Amazon SES.
Como listar todas as identidades do Amazon SES para sua conta da AWS.
Como excluir identidades usadas com o Amazon SES.
Uma identidade do Amazon SES é um endereço de e-mail ou domínio que o Amazon SES usa para enviar e-mails. O Amazon SES requer que você verifique suas identidades de e-mail, confirmando que você é o proprietário delas e impedindo que outras pessoas as utilizem.
Para obter detalhes sobre como verificar endereços de e-mail e domínios no Amazon SES, consulte Verificar endereços de e-mail e domínios no Amazon SES no Guia do desenvolvedor do Amazon Simple Email Service. Para obter informações sobre autorização de envio no Amazon SES, consulte Visão geral da autorização de envio do Amazon SES.
O cenário
Neste exemplo, você usa uma série de módulos do Node.js para verificar e gerenciar identidades do Amazon SES. Os módulos do Node.js usam o SDK para JavaScript para verificar endereços de e-mail e domínios, usando estes métodos da classe de cliente do SES:
Tarefas de pré-requisito
Para configurar e executar este exemplo, você deve primeiro concluir estas tarefas:
-
Configure o ambiente do projeto para executar estes exemplos do Node TypeScript e instale os módulos do AWS SDK para JavaScript e de terceiros necessários. Siga as instruções no 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 e SDKs da AWS.
Importante
Esses exemplos demonstram como importar/exportar objetos e comandos do serviço de cliente usando o 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 suas identidades
Neste exemplo, use um módulo do Node.js para listar endereços de e-mail e domínios para usar 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. Substitua REGION pela sua região da AWS.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui no GitHub
Crie um módulo do Node.js com o nome de arquivo ses_listidentities.js. Configure o SDK conforme mostrado anteriormente, incluindo a instalação dos clientes e pacotes necessários.
Crie um objeto para passar o IdentityType e outros parâmetros para o método ListIdentitiesCommand da classe de cliente SES. Para chamar o método ListIdentitiesCommand, invoque um objeto de serviço do Amazon SES passando o objeto dos parâmetros.
O data retornado contém um array de identidades de domínio, conforme especificado pelo parâmetro IdentityType.
nota
Substitua IdentityType pelo tipo de identidade, que pode ser “EmailAddress” ou “Domain”.
import { ListIdentitiesCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const createListIdentitiesCommand = () => new ListIdentitiesCommand({ IdentityType: "EmailAddress", MaxItems: 10 }); const run = async () => { const listIdentitiesCommand = createListIdentitiesCommand(); try { return await sesClient.send(listIdentitiesCommand); } catch (err) { console.log("Failed to list identities.", err); return err; } };
Para executar o exemplo, digite o seguinte no prompt de comando.
node ses_listidentities.js
Esse código de exemplo pode ser encontrado aqui no GitHub
Verificar a identidade de um endereço de e-mail
Neste exemplo, use um módulo do Node.js para verificar remetentes de e-mail para usar 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. Substitua REGION pela sua região da AWS.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui no GitHub
Crie um módulo do Node.js com o nome de arquivo ses_verifyemailidentity.js. Configure o SDK conforme mostrado anteriormente, incluindo o download dos clientes e pacotes necessários.
Crie um objeto para passar o parâmetro EmailAddress para o método VerifyEmailIdentityCommand da classe de cliente SES. Para chamar o método VerifyEmailIdentityCommand, invoque um objeto de serviço de cliente do Amazon SES, passando os parâmetros.
nota
Substitua EMAIL_ADDRESS pelo endereço de e-mail, como nome@exemplo.com.
// Import required AWS SDK clients and commands for Node.js import { VerifyEmailIdentityCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const EMAIL_ADDRESS = "name@example.com"; const createVerifyEmailIdentityCommand = (emailAddress) => { return new VerifyEmailIdentityCommand({ EmailAddress: emailAddress }); }; const run = async () => { const verifyEmailIdentityCommand = createVerifyEmailIdentityCommand(EMAIL_ADDRESS); try { return await sesClient.send(verifyEmailIdentityCommand); } catch (err) { console.log("Failed to verify email identity.", err); return err; } };
Para executar o exemplo, digite o seguinte no prompt de comando. O domínio é adicionado ao Amazon SES a ser verificado.
node ses_verifyemailidentity.js
Esse código de exemplo pode ser encontrado aqui no GitHub
Verificar uma identidade de domínio
Neste exemplo, use um módulo do Node.js para verificar domínios de e-mail a serem usados 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. Substitua REGION pela sua região da AWS.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui no GitHub
Crie um módulo do Node.js com o nome de arquivo ses_verifydomainidentity.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 Domain para o método VerifyDomainIdentityCommand da classe de cliente SES. Para chamar o método VerifyDomainIdentityCommand, invoque um objeto de serviço de cliente do Amazon SES, passando o objeto dos parâmetros.
nota
Este exemplo importa e usa os clientes do pacote AWS Service V3 necessários, os comandos da V3, bem como o método send em um padrão async/await. 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
Substitua DOMAIN_NAME pelo nome do domínio.
import { VerifyDomainIdentityCommand } from "@aws-sdk/client-ses"; import { getUniqueName, postfix, } from "@aws-doc-sdk-examples/lib/utils/util-string.js"; import { sesClient } from "./libs/sesClient.js"; /** * You must have access to the domain's DNS settings to complete the * domain verification process. */ const DOMAIN_NAME = postfix(getUniqueName("Domain"), ".example.com"); const createVerifyDomainIdentityCommand = () => { return new VerifyDomainIdentityCommand({ Domain: DOMAIN_NAME }); }; const run = async () => { const VerifyDomainIdentityCommand = createVerifyDomainIdentityCommand(); try { return await sesClient.send(VerifyDomainIdentityCommand); } catch (err) { console.log("Failed to verify domain.", err); return err; } };
Para executar o exemplo, digite o seguinte no prompt de comando. O domínio é adicionado ao Amazon SES a ser verificado.
node ses_verifydomainidentity.js
Esse código de exemplo pode ser encontrado aqui no GitHub
Excluir identidades
Neste exemplo, use um módulo do Node.js para excluir endereços de e-mail ou domínios usados 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. Substitua REGION pela sua região da AWS.
import { SESClient } from "@aws-sdk/client-ses"; // Set the AWS Region. const REGION = "us-east-1"; // Create SES service object. const sesClient = new SESClient({ region: REGION }); export { sesClient };
Esse código de exemplo pode ser encontrado aqui no GitHub
Crie um módulo do Node.js com o nome de arquivo ses_deleteidentity.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 Identity para o método DeleteIdentityCommand da classe de cliente SES. Para chamar o método DeleteIdentityCommand, crie uma request para invocar 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 da V3, bem como o método send em um padrão async/await. 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
Substitua IDENTITY_EMAIL pelo e-mail da identidade a ser excluída.
import { DeleteIdentityCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; const IDENTITY_EMAIL = "fake@example.com"; const createDeleteIdentityCommand = (identityName) => { return new DeleteIdentityCommand({ Identity: identityName, }); }; const run = async () => { const deleteIdentityCommand = createDeleteIdentityCommand(IDENTITY_EMAIL); try { return await sesClient.send(deleteIdentityCommand); } catch (err) { console.log("Failed to delete identity.", err); return err; } };
Para executar o exemplo, digite o seguinte no prompt de comando.
node ses_deleteidentity.js
Esse código de exemplo pode ser encontrado aqui no GitHub