La Guía de referencia de la API de AWS SDK for JavaScript V3 describe en detalle todas las operaciones de la API para la versión 3 (V3) de AWS SDK for JavaScript.
Administración de identidades en Amazon SES
Este ejemplo de código de Node.js muestra:
Cómo verificar direcciones de correo electrónico y dominios que se usan con Amazon SES.
Cómo asignar una política de AWS Identity and Access Management (IAM) a sus identidades de Amazon SES.
Cómo generar una lista de todas las identidades de Amazon SES para su cuenta de AWS.
Cómo eliminar identidades que se usan con Amazon SES.
En Amazon SES, una identidad es una dirección de correo electrónico o dominio que se utiliza para enviar correos electrónicos. Amazon SES requiere que verifique su dirección de correo electrónico o dominio para confirmar que es de su propiedad e impedir que otras personas los utilicen.
Para obtener información detallada acerca de cómo verificar direcciones de correo electrónico y dominios en Amazon SES, consulte Verificación de direcciones de correo electrónico y dominios en Amazon SES en la Guía para desarrolladores de Amazon Simple Email Service. Para obtener información acerca de cómo enviar autorizaciones en Amazon SES, consulte Información general sobre el envío de autorizaciones en Amazon SES.
El escenario
En este ejemplo, va a utilizar una serie de módulos de Node.js para verificar y administrar identidades de Amazon SES. Los módulos de Node.js utilizan el SDK para JavaScript para verificar las direcciones de correo electrónico y los dominios, por medio de los métodos siguientes de la clase de cliente de Amazon SES:
Tareas previas necesarias
Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:
-
Configure el entorno del proyecto para ejecutar estos ejemplos de Node TypeScript e instale los módulos necesarios de AWS SDK for JavaScript y de terceros. Siga las instrucciones en GitHub
. Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información sobre proporcionar un archivo de credenciales compartido, consulte Archivos de configuración y credenciales compartidos en la Guía de referencia de las herramientas y los SDK de AWS.
importante
Estos ejemplos muestran cómo importar/exportar comandos y objetos del servicio de cliente mediante ECMAScript6 (ES6).
Requiere la versión 13.x o superior de Node.js. Para descargar e instalar la versión más reciente de Node.js, consulte Descargas de Node.js
. Si prefiere utilizar la sintaxis CommonJS, consulte Sintaxis ES6/commonJS de JavaScript.
Mostrar sus identidades
En este ejemplo, utilice un módulo de Node.js para obtener una lista de direcciones de correo electrónico y dominios que se usarán con Amazon SES.
Cree un directorio libs y un módulo Node.js con el nombre de archivo sesClient.js. Copie y pegue el siguiente código en él para crear el objeto de cliente de Amazon SES. Sustituya REGION por su región de 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_listidentities.js. Configure el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios.
Cree un objeto para transferir el parámetro IdentityType y otros parámetros para el método ListIdentitiesCommand de la clase de cliente de Amazon SES. Para llamar al método ListIdentitiesCommand, invoque un objeto de servicio de Amazon SES transfiriendo el objeto de los parámetros.
Los data devueltos contienen una matriz de identidades de dominio tal y como especifica el parámetro IdentityType.
nota
Sustituya IdentityType por el tipo de identidad, que puede ser “EmailAddress” o “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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.
node ses_listidentities.js
Este código de ejemplo se puede encontrar aquí en GitHub
Verificación de una identidad de dirección de correo electrónico
En este ejemplo, utilice un módulo de Node.js para comprobar los remitentes de direcciones de correo electrónico que se usarán con Amazon SES.
Cree un directorio libs y un módulo Node.js con el nombre de archivo sesClient.js. Copie y pegue el siguiente código en él para crear el objeto de cliente de Amazon SES. Sustituya REGION por su región de 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_verifyemailidentity.js. Configure el SDK como se mostró anteriormente, incluida la descarga de los clientes y paquetes necesarios.
Cree un objeto para transferir el parámetro EmailAddress para el método VerifyEmailIdentityCommand de la clase de cliente de Amazon SES. Para llamar al método VerifyEmailIdentityCommand, invoque un objeto de servicio de cliente de Amazon SES transfiriendo los parámetros.
nota
Sustituya EMAIL_ADDRESS por la dirección de correo electrónico, como name@example.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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. El dominio se añade a Amazon SES para que se compruebe.
node ses_verifyemailidentity.js
Este código de ejemplo se puede encontrar aquí en GitHub
Verificación de una identidad de dominio
En este ejemplo, utilice un módulo de Node.js para comprobar los dominios de correo electrónico que se usarán con Amazon SES.
Cree un directorio libs y un módulo Node.js con el nombre de archivo sesClient.js. Copie y pegue el siguiente código en él para crear el objeto de cliente de Amazon SES. Sustituya REGION por su región de 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_verifydomainidentity.js. Configure el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios.
Cree un objeto para transferir el parámetro Domain para el método VerifyDomainIdentityCommand de la clase de cliente de Amazon SES. Para llamar al método VerifyDomainIdentityCommand, invoque un objeto de servicio de Amazon SES transfiriendo el objeto de los parámetros.
nota
En este ejemplo, se importan y utilizan los clientes del paquete de Service V3 de AWS necesarios, los comandos de la V3, y se utiliza el método send siguiendo un patrón async/await. En su lugar, puede crear este ejemplo con los comandos de la V2 realizando algunos cambios menores. Para obtener más información, consulte Uso de comandos de v3.
nota
Sustituya DOMAIN_NAME por el nombre de dominio.
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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. El dominio se añade a Amazon SES para que se compruebe.
node ses_verifydomainidentity.js
Este código de ejemplo se puede encontrar aquí en GitHub
Eliminación de identidades
En este ejemplo, utilice un módulo de Node.js para eliminar direcciones de correo electrónico o dominios que se usan con Amazon SES.
Cree un directorio libs y un módulo Node.js con el nombre de archivo sesClient.js. Copie y pegue el siguiente código en él para crear el objeto de cliente de Amazon SES. Sustituya REGION por su región de 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_deleteidentity.js. Configure el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios.
Cree un objeto para transferir el parámetro Identity para el método DeleteIdentityCommand de la clase de cliente de Amazon SES. Para llamar al método DeleteIdentityCommand, cree una request para invocar un objeto de servicio de cliente de Amazon SES transfiriendo los parámetros.
nota
En este ejemplo, se importan y se utilizan los clientes del paquete Service V3 de AWS, los comandos V3, y se utiliza el método send siguiendo un patrón asíncrono/de espera. En su lugar, puede crear este ejemplo con los comandos de la V2 realizando algunos cambios menores. Para obtener más información, consulte Uso de comandos de v3.
nota
Sustituya IDENTITY_EMAIL por el correo electrónico de la identidad que se va a eliminar.
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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.
node ses_deleteidentity.js
Este código de ejemplo se puede encontrar aquí en GitHub