Utilisation de modèles d'e-mails sur Amazon SES - AWS SDK for JavaScript

Le guide de API référence AWS SDK for JavaScript V3 décrit en détail toutes les API opérations de la AWS SDK for JavaScript version 3 (V3).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de modèles d'e-mails sur Amazon SES

JavaScript code example that applies to Node.js execution

Cet exemple de code Node.js présente :

  • Comment obtenir une liste de tous vos modèles d'e-mails.

  • Comment récupérer et mettre à jour des modèles d'e-mails.

  • Comment créer et supprimer des modèles d'e-mails.

Amazon vous SES permet d'envoyer des e-mails personnalisés à l'aide de modèles d'e-mails. Pour en savoir plus sur la création et l'utilisation de modèles d'e-mail dans AmazonSES, consultez la section Envoyer un e-mail personnalisé à l'aide d'Amazon SES API dans le manuel Amazon Simple Email Service Developer Guide.

Le scénario

Dans cet exemple, vous utilisez une série de modules Node.js à utiliser avec des modèles d'e-mail. Les modules Node.js utilisent le SDK for pour JavaScript créer et utiliser des modèles de courrier électronique en utilisant les méthodes suivantes de la classe SES client :

Tâches préalables

Pour configurer et exécuter cet exemple, vous devez d'abord :

  • Configurez l'environnement du projet pour exécuter ces TypeScript exemples de nœuds et installez les modules requis AWS SDK for JavaScript et tiers. Suivez les instructions figurant sur GitHub.

Important

Ces exemples montrent comment importer/exporter des objets de service client et des commandes à l'aide de ECMAScript6 ()ES6.

Répertorier vos modèles d'e-mails

Dans cet exemple, utilisez un module Node.js pour créer un modèle d'e-mail à utiliser avec AmazonSES.

Créez un libs répertoire et créez un module Node.js avec le nom du fichiersesClient.js. Copiez-collez le code ci-dessous pour créer l'objet SES client Amazon. Remplacez REGION avec votre AWS région.

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

Cet exemple de code se trouve ici GitHub.

Créez un module Node.js nommé ses_listtemplates.js. Configurez le SDK comme indiqué précédemment, notamment en installant les clients et les packages requis.

Créez un objet pour transmettre les paramètres de la méthode ListTemplatesCommand de la classe client SES. Pour appeler la ListTemplatesCommand méthode, appelez un objet SES du service client Amazon en transmettant les paramètres.

Note

Cet exemple importe et utilise les clients du package AWS Service V3 requis, les commandes V3, et utilise la send méthode dans un modèle async/await. Vous pouvez créer cet exemple à l'aide des commandes V2 en apportant quelques modifications mineures. Pour plus de détails, consultez Utilisation des commandes 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; } };

Pour exécuter l'exemple, entrez ce qui suit à l'invite de commande. Amazon SES renvoie la liste des modèles.

node ses_listtemplates.js

Cet exemple de code se trouve ici GitHub.

Obtenir un modèle d'e-mail

Dans cet exemple, utilisez un module Node.js pour obtenir un modèle d'e-mail à utiliser avec AmazonSES.

Créez un libs répertoire et créez un module Node.js avec le nom du fichiersesClient.js. Copiez-collez le code ci-dessous pour créer l'objet SES client Amazon. Remplacez REGION avec votre AWS région.

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

Cet exemple de code se trouve ici GitHub.

Créez un module Node.js nommé ses_gettemplate.js. Configurez le SDK comme indiqué précédemment, notamment en installant les clients et les packages requis.

Créez un objet pour transmettre le paramètre TemplateName ainsi que les autres paramètres de la méthode GetTemplateCommand de la classe client SES. Pour appeler la GetTemplateCommand méthode, appelez un objet SES du service client Amazon en transmettant les paramètres.

Note

Cet exemple importe et utilise les clients du package AWS Service V3 requis, les commandes V3, et utilise la send méthode dans un modèle async/await. Vous pouvez créer cet exemple à l'aide des commandes V2 en apportant quelques modifications mineures. Pour plus de détails, consultez Utilisation des commandes v3.

Note

Remplacez TEMPLATE_NAME avec le nom du modèle à renvoyer.

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

Pour exécuter l'exemple, entrez ce qui suit à l'invite de commande. Amazon SES renvoie les détails du modèle.

node ses_gettemplate.js

Cet exemple de code se trouve ici GitHub.

Création d'un modèle d'e-mail

Dans cet exemple, utilisez un module Node.js pour créer un modèle d'e-mail à utiliser avec AmazonSES.

Créez un libs répertoire et créez un module Node.js avec le nom du fichiersesClient.js. Copiez-collez le code ci-dessous pour créer l'objet SES client Amazon. Remplacez REGION avec votre AWS région.

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

Cet exemple de code se trouve ici GitHub.

Créez un module Node.js nommé ses_createtemplate.js. Configurez le SDK comme indiqué précédemment, notamment en installant les clients et les packages requis.

Créez un objet pour transmettre les paramètres de la méthode CreateTemplateCommand de la classe client SES, y compris TemplateName, HtmlPart, SubjectPart et TextPart. Pour appeler la CreateTemplateCommand méthode, appelez un objet SES du service client Amazon en transmettant les paramètres.

Note

Cet exemple importe et utilise les clients du package AWS Service V3 requis, les commandes V3, et utilise la send méthode dans un modèle async/await. Vous pouvez créer cet exemple à l'aide des commandes V2 en apportant quelques modifications mineures. Pour plus de détails, consultez Utilisation des commandes v3.

Note

Remplacez TEMPLATE_NAME avec un nom pour le nouveau modèle, HtmlPart avec le contenu HTML balisé du courrier électronique, et SubjectPart avec l'objet de l'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; } };

Pour exécuter l'exemple, entrez ce qui suit à l'invite de commande. Le modèle est ajouté à AmazonSES.

node ses_createtemplate.js

Cet exemple de code se trouve ici GitHub.

Mise à jour d'un modèle d'e-mail

Dans cet exemple, utilisez un module Node.js pour créer un modèle d'e-mail à utiliser avec AmazonSES.

Créez un libs répertoire et créez un module Node.js avec le nom du fichiersesClient.js. Copiez-collez le code ci-dessous pour créer l'objet SES client Amazon. Remplacez REGION avec votre AWS région.

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

Cet exemple de code se trouve ici GitHub.

Créez un module Node.js nommé ses_updatetemplate.js. Configurez le SDK comme indiqué précédemment, notamment en installant les clients et les packages requis.

Créez un objet pour transmettre les valeurs de paramètre Template que vous souhaitez mettre à jour dans le modèle, avec le paramètre TemplateName obligatoire transmis à la méthode UpdateTemplateCommand de la classe client SES. Pour appeler la UpdateTemplateCommand méthode, appelez un objet SES de service Amazon en transmettant les paramètres.

Note

Cet exemple importe et utilise les clients du package AWS Service V3 requis, les commandes V3, et utilise la send méthode dans un modèle async/await. Vous pouvez créer cet exemple à l'aide des commandes V2 en apportant quelques modifications mineures. Pour plus de détails, consultez Utilisation des commandes v3.

Note

Remplacez TEMPLATE_NAME avec le nom du modèle et HTML_PART avec le contenu HTML balisé de l'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; } };

Pour exécuter l'exemple, entrez ce qui suit à l'invite de commande. Amazon SES renvoie les détails du modèle.

node ses_updatetemplate.js

Cet exemple de code se trouve ici GitHub.

Suppression d'un modèle d'e-mail

Dans cet exemple, utilisez un module Node.js pour créer un modèle d'e-mail à utiliser avec AmazonSES.

Créez un libs répertoire et créez un module Node.js avec le nom du fichiersesClient.js. Copiez-collez le code ci-dessous pour créer l'objet SES client Amazon. Remplacez REGION avec votre AWS région.

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

Cet exemple de code se trouve ici GitHub.

Créez un module Node.js nommé ses_deletetemplate.js. Configurez le SDK comme indiqué précédemment, notamment en installant les clients et les packages requis.

Créez un objet pour transmettre le paramètreTemplateName obligatoire à la méthode DeleteTemplateCommand de la classe client SES. Pour appeler la DeleteTemplateCommand méthode, appelez un objet SES de service Amazon en transmettant les paramètres.

Note

Cet exemple importe et utilise les clients du package AWS Service V3 requis, les commandes V3, et utilise la send méthode dans un modèle async/await. Vous pouvez créer cet exemple à l'aide des commandes V2 en apportant quelques modifications mineures. Pour plus de détails, consultez Utilisation des commandes v3.

Note

Remplacez TEMPLATE_NAME avec le nom du modèle à supprimer.

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

Pour exécuter l'exemple, entrez ce qui suit à l'invite de commande. Amazon SES renvoie les détails du modèle.

node ses_deletetemplate.js

Cet exemple de code se trouve ici GitHub.