Lavorare con i modelli di e-mail in Amazon SES - AWS SDK for JavaScript

La guida API di riferimento AWS SDK for JavaScript V3 descrive in dettaglio tutte le API operazioni per la AWS SDK for JavaScript versione 3 (V3).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Lavorare con i modelli di e-mail in Amazon SES

JavaScript code example that applies to Node.js execution

Questo esempio di codice di Node.js illustra:

  • Come ottenere un elenco di tutti i tuoi modelli di email.

  • Come recuperare e aggiornare i modelli di email.

  • Come creare ed eliminare modelli di email.

Amazon ti SES consente di inviare messaggi e-mail personalizzati utilizzando modelli di e-mail. Per dettagli su come creare e utilizzare modelli di e-mail in AmazonSES, consulta Invio di e-mail personalizzate utilizzando Amazon SES API nella Amazon Simple Email Service Developer Guide.

Lo scenario

In questo esempio, utilizzi una serie di moduli Node.js per utilizzare i modelli di e-mail. I moduli Node.js utilizzano SDK for per JavaScript creare e utilizzare modelli di posta elettronica utilizzando questi metodi della classe SES client:

Attività prerequisite

Per configurare ed eseguire questo esempio, è necessario completare queste attività:

  • Configura l'ambiente di progetto per eseguire questi TypeScript esempi di Node e installa i moduli richiesti AWS SDK for JavaScript e di terze parti. Segui le istruzioni su GitHub.

  • Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file di credenziali condiviso, consulta File di configurazione e credenziali condivisi nella Guida di riferimento agli strumenti AWS SDKs e agli strumenti.

Importante

Questi esempi mostrano come importare/esportare oggetti e comandi del servizio client utilizzando (). ECMAScript6 ES6

Elencare i tuoi modelli di email

In questo esempio, utilizza un modulo Node.js per creare un modello di e-mail da utilizzare con AmazonSES.

Crea una libs directory e crea un modulo Node.js con il nome del filesesClient.js. Copia e incolla il codice seguente, che crea l'oggetto SES client Amazon. Replace (Sostituisci) REGION con la tua AWS regione.

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

Questo codice di esempio può essere trovato qui su GitHub.

Crea un modulo Node.js con il nome del file ses_listtemplates.js. Configura SDK come mostrato in precedenza, inclusa l'installazione dei client e dei pacchetti richiesti.

Crea un oggetto per trasferire i parametri per il metodo ListTemplatesCommand della classe client SES. Per chiamare il ListTemplatesCommand metodo, richiama un oggetto SES del servizio client Amazon, passando i parametri.

Nota

Questo esempio importa e utilizza i client del pacchetto AWS Service V3 richiesti, i comandi V3 e utilizza il send metodo in uno schema async/await. È possibile creare questo esempio utilizzando i comandi V2 invece apportando alcune modifiche minori. Per informazioni dettagliate, vedi Utilizzo dei comandi 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; } };

Per eseguire l'esempio, immettere quanto segue al prompt dei comandi. Amazon SES restituisce l'elenco dei modelli.

node ses_listtemplates.js

Questo codice di esempio può essere trovato qui su GitHub.

Ottenere un modello di email

In questo esempio, usa un modulo Node.js per ottenere un modello di email da usare con AmazonSES.

Crea una libs directory e crea un modulo Node.js con il nome del filesesClient.js. Copia e incolla il codice seguente, che crea l'oggetto SES client Amazon. Replace (Sostituisci) REGION con la tua AWS regione.

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

Questo codice di esempio può essere trovato qui su GitHub.

Crea un modulo Node.js con il nome del file ses_gettemplate.js. Configura SDK come mostrato in precedenza, inclusa l'installazione dei client e dei pacchetti richiesti.

Crea un oggetto per trasferire il parametro TemplateName per il metodo GetTemplateCommand della classe client SES. Per chiamare il GetTemplateCommand metodo, richiama un oggetto SES del servizio client Amazon, passando i parametri.

Nota

Questo esempio importa e utilizza i client del pacchetto AWS Service V3 richiesti, i comandi V3 e utilizza il send metodo in uno schema async/await. È possibile creare questo esempio utilizzando i comandi V2 invece apportando alcune modifiche minori. Per informazioni dettagliate, vedi Utilizzo dei comandi v3.

Nota

Replace (Sostituisci) TEMPLATE_NAME con il nome del modello da restituire.

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

Per eseguire l'esempio, immettere quanto segue al prompt dei comandi. Amazon SES restituisce i dettagli del modello.

node ses_gettemplate.js

Questo codice di esempio può essere trovato qui su GitHub.

Creazione di un modello di email

In questo esempio, utilizza un modulo Node.js per creare un modello di e-mail da utilizzare con AmazonSES.

Crea una libs directory e crea un modulo Node.js con il nome del filesesClient.js. Copia e incolla il codice seguente, che crea l'oggetto SES client Amazon. Replace (Sostituisci) REGION con la tua AWS regione.

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

Questo codice di esempio può essere trovato qui su GitHub.

Crea un modulo Node.js con il nome del file ses_createtemplate.js. Configura SDK come mostrato in precedenza, inclusa l'installazione dei client e dei pacchetti richiesti.

Crea un oggetto per trasferire i parametri per il metodo CreateTemplateCommand della classe client SES, inclusi TemplateName, HtmlPart, SubjectPart e TextPart. Per chiamare il CreateTemplateCommand metodo, richiama un oggetto SES del servizio client Amazon, passando i parametri.

Nota

Questo esempio importa e utilizza i client del pacchetto AWS Service V3 richiesti, i comandi V3 e utilizza il send metodo in uno schema async/await. È possibile creare questo esempio utilizzando i comandi V2 invece apportando alcune modifiche minori. Per informazioni dettagliate, vedi Utilizzo dei comandi v3.

Nota

Replace (Sostituisci) TEMPLATE_NAME con un nome per il nuovo modello, HtmlPart con il contenuto HTML taggato dell'e-mail e SubjectPart con l'oggetto dell'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; } };

Per eseguire l'esempio, immettere quanto segue al prompt dei comandi. Il modello viene aggiunto ad AmazonSES.

node ses_createtemplate.js

Questo codice di esempio può essere trovato qui su GitHub.

Aggiornamento di un modello di e-mail

In questo esempio, utilizza un modulo Node.js per creare un modello di e-mail da utilizzare con AmazonSES.

Crea una libs directory e crea un modulo Node.js con il nome del filesesClient.js. Copia e incolla il codice seguente, che crea l'oggetto SES client Amazon. Replace (Sostituisci) REGION con la tua AWS regione.

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

Questo codice di esempio può essere trovato qui su GitHub.

Crea un modulo Node.js con il nome del file ses_updatetemplate.js. Configura SDK come mostrato in precedenza, inclusa l'installazione dei client e dei pacchetti richiesti.

Crea un oggetto per trasferire i valori dei parametri Template che desideri aggiornare nel modello, con il parametro TemplateName richiesto trasferito al metodo UpdateTemplateCommand della classe client SES. Per chiamare il UpdateTemplateCommand metodo, richiama un oggetto di SES servizio Amazon, passando i parametri.

Nota

Questo esempio importa e utilizza i client del pacchetto AWS Service V3 richiesti, i comandi V3 e utilizza il send metodo in uno schema async/await. È possibile creare questo esempio utilizzando i comandi V2 invece apportando alcune modifiche minori. Per informazioni dettagliate, vedi Utilizzo dei comandi v3.

Nota

Replace (Sostituisci) TEMPLATE_NAME con un nome del modello e HTML_PART con il contenuto HTML taggato dell'e-mail.

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

Per eseguire l'esempio, immettere quanto segue al prompt dei comandi. Amazon SES restituisce i dettagli del modello.

node ses_updatetemplate.js

Questo codice di esempio può essere trovato qui su GitHub.

Eliminazione di un modello di e-mail

In questo esempio, utilizza un modulo Node.js per creare un modello di e-mail da utilizzare con AmazonSES.

Crea una libs directory e crea un modulo Node.js con il nome del filesesClient.js. Copia e incolla il codice seguente, che crea l'oggetto SES client Amazon. Replace (Sostituisci) REGION con la tua AWS regione.

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

Questo codice di esempio può essere trovato qui su GitHub.

Crea un modulo Node.js con il nome del file ses_deletetemplate.js. Configura SDK come mostrato in precedenza, inclusa l'installazione dei client e dei pacchetti richiesti.

Crea un oggetto per trasferire il parametro TemplateName richiesto al metodo DeleteTemplateCommand della classe client SES. Per chiamare il DeleteTemplateCommand metodo, richiama un oggetto di SES servizio Amazon, passando i parametri.

Nota

Questo esempio importa e utilizza i client del pacchetto AWS Service V3 richiesti, i comandi V3 e utilizza il send metodo in uno schema async/await. È possibile creare questo esempio utilizzando i comandi V2 invece apportando alcune modifiche minori. Per informazioni dettagliate, vedi Utilizzo dei comandi v3.

Nota

Replace (Sostituisci) TEMPLATE_NAME con il nome del modello da eliminare.

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

Per eseguire l'esempio, immettere quanto segue al prompt dei comandi. Amazon SES restituisce i dettagli del modello.

node ses_deletetemplate.js

Questo codice di esempio può essere trovato qui su GitHub.