Trabajar con plantillas de correo electrónico en Amazon SES - AWS SDK for JavaScript

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.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Trabajar con plantillas de correo electrónico en Amazon SES

JavaScript code example that applies to Node.js execution

Este ejemplo de código de Node.js muestra:

  • Cómo obtener una lista de todas sus plantillas de correo electrónico.

  • Cómo recuperar y actualizar plantillas de correo electrónico.

  • Cómo crear y eliminar plantillas de correo electrónico.

Con Amazon SES, puede enviar mensajes de correo electrónico personalizados mediante plantillas de correo electrónico. Para obtener más información sobre cómo crear y usar plantillas de correo electrónico en Amazon SES, consulte Envío de correos electrónicos personalizados utilizando la API de Amazon SES en la Guía para desarrolladores de Amazon Simple Email Service.

El escenario

En este ejemplo, va a utilizar una serie de módulos de Node.js para trabajar con plantillas de correo electrónico. Los módulos de Node.js utilizan el SDK JavaScript para crear y utilizar plantillas de correo electrónico mediante los siguientes métodos de la clase SES cliente:

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:

  • Configure el entorno del proyecto para ejecutar estos TypeScript ejemplos de Node e instale los módulos necesarios AWS SDK for JavaScript y de terceros. Siga las instrucciones que figuran en GitHub.

  • Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información sobre cómo proporcionar un archivo de credenciales compartido, consulte Archivos de configuración y credenciales compartidos en la Guía de referencia de SDK y herramientas de AWS.

importante

Estos ejemplos muestran cómo importar/exportar comandos y objetos del servicio de cliente mediante ECMAScript6 (ES6).

Obtención de una lista de plantillas de correo electrónico

En este ejemplo, utilice un módulo de Node.js para crear una plantilla de correo electrónico que se usará con Amazon SES.

Cree un directorio libs y cree 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 AWS región.

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 };

Puedes encontrar este código de ejemplo aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo ses_listtemplates.js. Configure el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios.

Cree un objeto para transferir los parámetros para el método ListTemplatesCommand de la clase de cliente de Amazon SES. Para llamar al método ListTemplatesCommand, invoque un objeto de servicio de cliente de Amazon SES transfiriendo los parámetros.

nota

En este ejemplo, se importan y se utilizan los paquetes de clientes y comandos de la versión 3 necesarios del AWS servicio, y se utiliza el send método siguiendo un patrón asíncrono o de espera. En su lugar, puede crear este ejemplo con los comandos de la V2 realizando algunos cambios menores. Para obtener más detalles, consulte Uso de comandos de la V3.

nota

Sustituya ITEMS_COUNT por el número máximo de plantillas a obtener. El valor debe ser un mínimo de 1 y un valor máximo de 10.

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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES devuelve la lista de plantillas.

node ses_listtemplates.js

Este código de ejemplo se puede encontrar aquí en. GitHub

Obtención de una plantilla de correo electrónico

En este ejemplo, utilice un módulo de Node.js para obtener una plantilla de correo electrónico que se usará con Amazon SES.

Cree un directorio libs y cree 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 AWS región.

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 };

Puedes encontrar este código de ejemplo aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo ses_gettemplate.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 TemplateName para el método GetTemplateCommand de la clase de cliente de Amazon SES. Para llamar al método GetTemplateCommand, invoque un objeto de servicio de cliente de Amazon SES transfiriendo los parámetros.

nota

En este ejemplo, se importan y se utilizan los paquetes de clientes y comandos de la versión 3 necesarios del AWS servicio, y se utiliza el send método siguiendo un patrón asíncrono o de espera. En su lugar, puede crear este ejemplo con los comandos de la V2 realizando algunos cambios menores. Para obtener más detalles, consulte Uso de comandos de la V3.

nota

Sustituya TEMPLATE_NAME por el nombre de la plantilla a obtener.

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 (err) { console.log("Failed to get email template.", err); return err; } };

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES devuelve los detalles de la plantilla.

node ses_gettemplate.js

Este código de ejemplo se puede encontrar aquí en. GitHub

Creación de una plantilla de correo electrónico

En este ejemplo, utilice un módulo de Node.js para crear una plantilla de correo electrónico que se usará con Amazon SES.

Cree un directorio libs y cree 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 AWS región.

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 };

Puedes encontrar este código de ejemplo aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo ses_createtemplate.js. Configure el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios.

Cree un objeto para transferir los parámetros para el método CreateTemplateCommand de la clase de cliente de Amazon SES, incluidos TemplateName, HtmlPart, SubjectPart y TextPart. Para llamar al método CreateTemplateCommand, invoque un objeto de servicio de cliente de Amazon SES transfiriendo los parámetros.

nota

En este ejemplo, se importan y se utilizan los paquetes de clientes y comandos de la versión 3 necesarios del AWS servicio, y se utiliza el send método siguiendo un patrón asíncrono o de espera. En su lugar, puede crear este ejemplo con los comandos de la V2 realizando algunos cambios menores. Para obtener más detalles, consulte Uso de comandos de la V3.

nota

En este ejemplo, se importan y utilizan los paquetes de clientes y comandos AWS de la V3 necesarios, y se utiliza el método siguiendo un patrón asíncrono/de espera. send En su lugar, puede crear este ejemplo con los comandos de la V2 realizando algunos cambios menores. Para obtener más detalles, consulte Uso de comandos de la V3.

nota

Sustituya TEMPLATE_NAME por un nombre para la nueva plantilla, HTML_CONTENT por el contenido del correo electrónico etiquetado en HTML, SUBJECT por el asunto del correo electrónico y TEXT_CONTENT por el texto del correo electrónico.

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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. La plantilla se añade a Amazon SES.

node ses_createtemplate.js

Este código de ejemplo se puede encontrar aquí en. GitHub

Actualización de una plantilla de correo electrónico

En este ejemplo, utilice un módulo de Node.js para crear una plantilla de correo electrónico que se usará con Amazon SES.

Cree un directorio libs y cree 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 AWS región.

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 };

Puedes encontrar este código de ejemplo aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo ses_updatetemplate.js. Configure el SDK como se mostró anteriormente, incluida la instalación de los clientes y paquetes necesarios.

Cree un objeto para transferir los valores de parámetro Template que desea actualizar en la plantilla, con el parámetro TemplateName obligatorio transferido al método UpdateTemplateCommand de la clase de cliente de Amazon SES. Para llamar al método UpdateTemplateCommand, invoque un objeto de servicio de Amazon SES transfiriendo los parámetros.

nota

En este ejemplo, se importan y se utilizan los paquetes de clientes y comandos de la versión 3 necesarios del AWS servicio, y se utiliza el send método siguiendo un patrón asíncrono o de espera. En su lugar, puede crear este ejemplo con los comandos de la V2 realizando algunos cambios menores. Para obtener más detalles, consulte Uso de comandos de la V3.

nota

Sustituya TEMPLATE_NAME por un nombre para la nueva plantilla, HTML_CONTENT por el contenido del correo electrónico etiquetado en HTML, SUBJECT por el asunto del correo electrónico y TEXT_CONTENT por el texto del correo electrónico.

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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES devuelve los detalles de la plantilla.

node ses_updatetemplate.js

Este código de ejemplo se puede encontrar aquí en. GitHub

Eliminación de una plantilla de correo electrónico

En este ejemplo, utilice un módulo de Node.js para crear una plantilla de correo electrónico que se usará con Amazon SES.

Cree un directorio libs y cree 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 AWS región.

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 };

Puedes encontrar este código de ejemplo aquí en GitHub.

Cree un módulo de Node.js con el nombre de archivo ses_deletetemplate.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 TemplateName obligatorio al método DeleteTemplateCommand de la clase de cliente de Amazon SES. Para llamar al método DeleteTemplateCommand, invoque un objeto de servicio de Amazon SES transfiriendo los parámetros.

nota

En este ejemplo, se importan y se utilizan los paquetes de clientes y comandos de la versión 3 necesarios del AWS servicio, y se utiliza el send método siguiendo un patrón asíncrono o de espera. En su lugar, puede crear este ejemplo con los comandos de la V2 realizando algunos cambios menores. Para obtener más detalles, consulte Uso de comandos de la V3.

nota

Sustituya TEMPLATE_NAME por el nombre de la plantilla que se va a eliminar.

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 ejecutar el ejemplo, escriba lo siguiente en la línea de comandos. Amazon SES devuelve los detalles de la plantilla.

node ses_deletetemplate.js

Este código de ejemplo se puede encontrar aquí en. GitHub