Arbeiten mit E-Mail-Vorlagen in Amazon SES - AWS SDK for JavaScript

Das AWS SDK for JavaScript APIV3-Referenzhandbuch beschreibt detailliert alle API Funktionen für die AWS SDK for JavaScript Version 3 (V3).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit E-Mail-Vorlagen in Amazon SES

JavaScript code example that applies to Node.js execution

Dieses Node.js-Codebeispiel zeigt:

  • So erhalten Sie eine Liste all Ihrer E-Mail-Vorlagen.

  • So rufen Sie E-Mail-Vorlagen ab und aktualisieren sie.

  • So erstellen und löschen Sie E-Mail-Vorlagen.

Amazon SES ermöglicht es Ihnen, personalisierte E-Mail-Nachrichten mithilfe von E-Mail-Vorlagen zu versenden. Einzelheiten zum Erstellen und Verwenden von E-Mail-Vorlagen in Amazon SES finden Sie unter Senden personalisierter E-Mails über Amazon SES API im Amazon Simple Email Service Developer Guide.

Das Szenario

In diesem Beispiel verwenden Sie eine Reihe von Node.js-Module, um mit E-Mail-Vorlagen zu arbeiten. Die Module Node.js verwenden das SDK for JavaScript , um E-Mail-Vorlagen mithilfe der folgenden Methoden der SES Client-Klasse zu erstellen und zu verwenden:

Erforderliche Aufgaben

Zum Einrichten und Ausführen dieses Beispiels müssen Sie zunächst diese Aufgaben abschließen:

  • Richten Sie die Projektumgebung ein, um diese TypeScript Node-Beispiele auszuführen, und installieren Sie die erforderlichen Module AWS SDK for JavaScript und Module von Drittanbietern. Folgen Sie den Anweisungen auf GitHub.

Wichtig

Diese Beispiele zeigen, wie Client-Dienstobjekte und Befehle mithilfe von ECMAScript6 () ES6 importiert/exportiert werden.

  • Dies erfordert Node.js Version 13.x oder höher. Informationen zum Herunterladen und Installieren der neuesten Version von Node.js finden Sie unter Node.js downloads. .

  • Wenn Sie die CommonJS-Syntax bevorzugen, finden Sie weitere Informationen unterJavaScript ES6/CommonJS-Syntax.

Ihre E-Mail-Vorlagen auflisten

Verwenden Sie in diesem Beispiel ein Modul Node.js, um eine E-Mail-Vorlage für Amazon zu erstellenSES.

Erstellen Sie ein libs Verzeichnis und ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das SES Amazon-Client-Objekt erstellt wird. Ersetzen REGION mit Ihrer AWS Region.

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

Diesen Beispielcode finden Sie hier auf GitHub.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen ses_listtemplates.js. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein Objekt, mit dem Sie die Parameter für die ListTemplatesCommand-Methode der SES-Client-Klasse übergeben können. Um die ListTemplatesCommand Methode aufzurufen, rufen Sie ein SES Amazon-Client-Service-Objekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel werden die erforderlichen AWS Service V3-Paketclients und V3-Befehle importiert und verwendet und die send Methode in einem Async/Await-Muster verwendet. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige geringfügige Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von v3-Befehlen.

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

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein. Amazon SES gibt die Liste der Vorlagen zurück.

node ses_listtemplates.js

Diesen Beispielcode finden Sie hier auf GitHub.

Eine E-Mail-Vorlage erhalten

Verwenden Sie in diesem Beispiel ein Modul Node.js, um eine E-Mail-Vorlage für Amazon abzurufenSES.

Erstellen Sie ein libs Verzeichnis und ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das SES Amazon-Client-Objekt erstellt wird. Ersetzen REGION mit Ihrer AWS Region.

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

Diesen Beispielcode finden Sie hier auf GitHub.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen ses_gettemplate.js. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein Objekt mit dem sie den TemplateName-Parameter an die GetTemplateCommand-Methode der SES-Client-Klasse übergeben. Um die GetTemplateCommand Methode aufzurufen, rufen Sie ein SES Amazon-Client-Service-Objekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel werden die erforderlichen AWS Service V3-Paketclients und V3-Befehle importiert und verwendet und die send Methode in einem Async/Await-Muster verwendet. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige geringfügige Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von v3-Befehlen.

Anmerkung

Ersetzen TEMPLATE_NAME mit dem Namen der Vorlage, die zurückgegeben werden soll.

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

Um das Beispiel auszuführen, geben Sie in der Befehlszeile Folgendes ein. Amazon SES gibt die Vorlagendetails zurück.

node ses_gettemplate.js

Dieser Beispielcode finden Sie hier unter GitHub.

Eine E-Mail-Vorlage erstellen

Verwenden Sie in diesem Beispiel ein Modul Node.js, um eine E-Mail-Vorlage für Amazon zu erstellenSES.

Erstellen Sie ein libs Verzeichnis und ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das SES Amazon-Client-Objekt erstellt wird. Ersetzen REGION mit Ihrer AWS Region.

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

Diesen Beispielcode finden Sie hier auf GitHub.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen ses_createtemplate.js. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein Objekt, um die Parameter für die CreateTemplateCommand-Methode der SES-Client-Klasse zu übergeben, einschließlich TemplateName, HtmlPart, SubjectPart und TextPart. Um die CreateTemplateCommand Methode aufzurufen, rufen Sie ein SES Amazon-Client-Service-Objekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel werden die erforderlichen AWS Service V3-Paketclients und V3-Befehle importiert und verwendet und die send Methode in einem Async/Await-Muster verwendet. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige geringfügige Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von v3-Befehlen.

Anmerkung

Ersetzen TEMPLATE_NAME mit einem Namen für die neue Vorlage, HtmlPart mit dem HTML markierten Inhalt der E-Mail und SubjectPart mit dem Betreff der 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; } };

Um das Beispiel auszuführen, geben Sie in der Befehlszeile Folgendes ein. Die Vorlage wird zu Amazon hinzugefügtSES.

node ses_createtemplate.js

Diesen Beispielcode finden Sie hier auf GitHub.

Aktualisieren einer E-Mail-Vorlage

Verwenden Sie in diesem Beispiel ein Modul Node.js, um eine E-Mail-Vorlage für Amazon zu erstellenSES.

Erstellen Sie ein libs Verzeichnis und ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das SES Amazon-Client-Objekt erstellt wird. Ersetzen REGION mit Ihrer AWS Region.

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

Diesen Beispielcode finden Sie hier auf GitHub.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen ses_updatetemplate.js. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein Objekt, um die Template-Parameterwerte, die Sie in der Vorlage aktualisieren möchten, mit dem erforderlichen TemplateName-Parameter an die UpdateTemplateCommand-Methode der SES-Client-Klasse zu übergeben. Um die UpdateTemplateCommand Methode aufzurufen, rufen Sie ein SES Amazon-Serviceobjekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel werden die erforderlichen AWS Service V3-Paketclients und V3-Befehle importiert und verwendet und die send Methode in einem Async/Await-Muster verwendet. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige geringfügige Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von v3-Befehlen.

Anmerkung

Ersetzen TEMPLATE_NAME mit einem Namen der Vorlage und HTML_PART mit dem HTML markierten Inhalt der 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; } };

Um das Beispiel auszuführen, geben Sie an der Befehlszeile Folgendes ein. Amazon SES gibt die Vorlagendetails zurück.

node ses_updatetemplate.js

Dieser Beispielcode finden Sie hier unter GitHub.

Löschen einer E-Mail-Vorlage

Verwenden Sie in diesem Beispiel ein Modul Node.js, um eine E-Mail-Vorlage für Amazon zu erstellenSES.

Erstellen Sie ein libs Verzeichnis und ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das SES Amazon-Client-Objekt erstellt wird. Ersetzen REGION mit Ihrer AWS Region.

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

Diesen Beispielcode finden Sie hier auf GitHub.

Erstellen Sie ein Node.js-Modul mit dem Dateinamen ses_deletetemplate.js. Konfigurieren Sie das SDK wie zuvor gezeigt, einschließlich der Installation der erforderlichen Clients und Pakete.

Erstellen Sie ein Objekt, um den erforderlichen TemplateName-Parameter an die DeleteTemplateCommand-Methode der SES-Client-Klasse zu übergeben. Um die DeleteTemplateCommand Methode aufzurufen, rufen Sie ein SES Amazon-Serviceobjekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel werden die erforderlichen AWS Service V3-Paketclients und V3-Befehle importiert und verwendet und die send Methode in einem Async/Await-Muster verwendet. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige geringfügige Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von v3-Befehlen.

Anmerkung

Ersetzen TEMPLATE_NAME mit dem Namen der zu löschenden Vorlage.

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

Um das Beispiel auszuführen, geben Sie in der Befehlszeile Folgendes ein. Amazon SES gibt die Vorlagendetails zurück.

node ses_deletetemplate.js

Dieser Beispielcode finden Sie hier unter GitHub.