La guía de API referencia de la versión AWS SDK for JavaScript 3 describe en detalle todas las API operaciones de la AWS SDK for JavaScript versión 3 (V3).
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
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.
Amazon te SES permite 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 AmazonSES, consulta Cómo enviar correos electrónicos personalizados con Amazon SES API 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 SDK for JavaScript para crear y utilizar plantillas de correo electrónico utilizando 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 nodos e instale los módulos necesarios AWS SDK for JavaScript y de terceros. Siga las instrucciones de 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 herramientas AWS SDKs y herramientas.
importante
Estos ejemplos muestran cómo importar/exportar comandos y objetos de servicio al 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.
Obtención de una lista de plantillas de correo electrónico
En este ejemplo, usa un módulo Node.js para crear una plantilla de correo electrónico para usarla con AmazonSES.
Cree un directorio libs
y un módulo Node.js con el nombre de archivo sesClient.js
. Copia y pega el siguiente código en él, lo que crea el objeto de SES cliente de Amazon. Reemplazar REGION
con tu 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_listtemplates.js
. Configure el SDK como se ha mostrado 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 ListTemplatesCommand
método, invoca un objeto de servicio SES al cliente de Amazon y pasa los parámetros.
nota
En este ejemplo, se importan y utilizan los clientes del paquete AWS Service V3 necesarios y los comandos de la V3, y se utiliza el send
método 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 detalles, consulte Uso de los comandos de la versión 3.
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, usa un módulo Node.js para obtener una plantilla de correo electrónico para usarla con AmazonSES.
Cree un directorio libs
y un módulo Node.js con el nombre de archivo sesClient.js
. Copia y pega el siguiente código en él, lo que crea el objeto de SES cliente de Amazon. Reemplazar REGION
con tu 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_gettemplate.js
. Configure el SDK como se ha mostrado 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 GetTemplateCommand
método, invoca un objeto de servicio SES al cliente de Amazon y pasa los parámetros.
nota
En este ejemplo, se importan y utilizan los clientes del paquete AWS Service V3 necesarios y los comandos de la V3, y se utiliza el send
método 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 detalles, consulte Uso de los comandos de la versión 3.
nota
Reemplazar TEMPLATE_NAME
con el nombre de la plantilla que se va a devolver.
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 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, usa un módulo Node.js para crear una plantilla de correo electrónico para usarla con AmazonSES.
Cree un directorio libs
y un módulo Node.js con el nombre de archivo sesClient.js
. Copia y pega el siguiente código en él, lo que crea el objeto de SES cliente de Amazon. Reemplazar REGION
con tu 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_createtemplate.js
. Configure el SDK como se ha mostrado 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 CreateTemplateCommand
método, invoca un objeto de servicio SES al cliente de Amazon y pasa los parámetros.
nota
En este ejemplo, se importan y utilizan los clientes del paquete AWS Service V3 necesarios y los comandos de la V3, y se utiliza el send
método 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 detalles, consulte Uso de los comandos de la versión 3.
nota
Reemplazar TEMPLATE_NAME
con un nombre para la nueva plantilla, HtmlPart
con el contenido HTML etiquetado del correo electrónico, y SubjectPart
con el asunto 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 AmazonSES.
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, usa un módulo Node.js para crear una plantilla de correo electrónico para usarla con AmazonSES.
Cree un directorio libs
y un módulo Node.js con el nombre de archivo sesClient.js
. Copia y pega el siguiente código en él, lo que crea el objeto de SES cliente de Amazon. Reemplazar REGION
con tu 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_updatetemplate.js
. Configure el SDK como se ha mostrado 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 UpdateTemplateCommand
método, invoca un objeto de SES servicio de Amazon y pasa los parámetros.
nota
En este ejemplo, se importan y utilizan los clientes del paquete AWS Service V3 necesarios y los comandos de la V3, y se utiliza el send
método 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 detalles, consulte Uso de los comandos de la versión 3.
nota
Reemplazar TEMPLATE_NAME
con el nombre de la plantilla y HTML_PART
con el contenido HTML etiquetado 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, usa un módulo Node.js para crear una plantilla de correo electrónico para usarla con AmazonSES.
Cree un directorio libs
y un módulo Node.js con el nombre de archivo sesClient.js
. Copia y pega el siguiente código en él, lo que crea el objeto de SES cliente de Amazon. Reemplazar REGION
con tu 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 };
Este código de ejemplo se puede encontrar aquí en GitHub
Cree un módulo de Node.js con el nombre de archivo ses_deletetemplate.js
. Configure el SDK como se ha mostrado 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 DeleteTemplateCommand
método, invoca un objeto de SES servicio de Amazon y pasa los parámetros.
nota
En este ejemplo, se importan y utilizan los clientes del paquete AWS Service V3 necesarios y los comandos de la V3, y se utiliza el send
método 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 detalles, consulte Uso de los comandos de la versión 3.
nota
Reemplazar TEMPLATE_NAME
con 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