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

Das AWS SDK for JavaScriptV3-API-Referenzhandbuch beschreibt detailliert alle API-Operationen für dieAWS SDK for JavaScript Version 3 (V3).

Ab dem 1. Oktober 2022 wirdAWS SDK for JavaScript (v3) die Unterstützung für Internet Explorer 11 (IE 11) beenden. Einzelheiten finden Sie unter Ankündigung des Endes der Unterstützung für Internet Explorer 11 in derAWS SDK for JavaScript (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:

  • Abrufen einer Liste mit all Ihren E-Mail-Vorlagen.

  • das Abrufen und Aktualisieren von E-Mail-Vorlagen.

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

Amazon SES ermöglicht das Senden personalisierter E-Mail-Nachrichten mithilfe von E-Mail-Vorlagen. Weitere Informationen zur Erstellung und Verwendung von E-Mail-Vorlagen in Amazon SES finden Sie unter.Senden einer personalisierten E-Mail mit der Amazon-SES-APIim Amazon Simple Email Service Entwicklerhandbuch.

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 für JavaScript das Erstellen von E-Mail-Vorlagen mithilfe dieser Methoden derSESClient-Klasse:

Erforderliche Aufgaben

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

  • Richten Sie die Projektumgebung zum Ausführen dieser Node ein TypeScript Beispiele, und installieren Sie die erforderlichenAWS SDK for JavaScriptund Module von Drittanbietern. Folgen Sie den Anweisungen für GitHub.

Wichtig

Diese Beispiele zeigen, wie Sie Client-Service-Objekte und -Befehle mithilfe von ECMAScript6 (ES6) importieren/exportieren.

Auflisten Ihrer E-Mail-Vorlagen

In diesem Beispiel erstellen Sie mithilfe eines Moduls Node.js eine E-Mail-Vorlage, die mit Amazon SES verwendet werden kann.

Erstellen eineslibsund erstellen Sie ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SES SES-Client-Objekt erstellt wird. ErsetzenREGIONWenn hierAWSRegion :

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 Siehier gilt: 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 ruft aufListTemplatesCommand-Methode, rufen Sie ein Amazon SES SES-Client-Serviceobjekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel wird das Erforderliche importiert und verwendetAWSService V3 paketiert Clients, V3-Befehle und verwendet diesendMethode in einem async/await-Muster. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige kleinere Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von V3-Befehlen.

Anmerkung

ErsetzenITEMS_COUNTmit der maximalen Anzahl der zurückzugebenden Vorlagen. Der Wert muss mindestens 1 und maximal 10 sein.

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 Eingabeaufforderung Folgendes ein. Amazon SES gibt die Liste der Vorlagen zurück.

node ses_listtemplates.js

Diesen Beispielcode finden Siehier gilt: GitHub.

Erhalten einer E-Mail-Vorlage

In diesem Beispiel rufen Sie mithilfe eines Moduls Node.js eine E-Mail-Vorlage ab, die mit Amazon SES verwendet werden kann.

Erstellen eineslibsund erstellen Sie ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SES SES-Client-Objekt erstellt wird. ErsetzenREGIONWenn hierAWSRegion :

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 Siehier gilt: 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 ruft aufGetTemplateCommand-Methode, rufen Sie ein Amazon SES SES-Client-Serviceobjekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel wird das Erforderliche importiert und verwendetAWSService V3 paketiert Clients, V3-Befehle und verwendet diesendMethode in einem async/await-Muster. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige kleinere Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von V3-Befehlen.

Anmerkung

ErsetzenVORLAGENNAMEmit dem Namen der Vorlage, die zurückgegeben werden soll.

import { GetTemplateCommand } from "@aws-sdk/client-ses"; import { getUniqueName } from "../../libs/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; } };

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

node ses_gettemplate.js

Diesen Beispielcode finden Siehier gilt: GitHub.

Erstellen einer E-Mail-Vorlage

In diesem Beispiel erstellen Sie mithilfe eines Moduls Node.js eine E-Mail-Vorlage, die mit Amazon SES verwendet werden kann.

Erstellen eineslibsund erstellen Sie ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SES SES-Client-Objekt erstellt wird. ErsetzenREGIONWenn hierAWSRegion :

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 Siehier gilt: 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 ruft aufCreateTemplateCommand-Methode, rufen Sie ein Amazon SES SES-Client-Serviceobjekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel wird das Erforderliche importiert und verwendetAWSService V3 paketiert Clients, V3-Befehle und verwendet diesendMethode in einem async/await-Muster. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige kleinere Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von V3-Befehlen.

Anmerkung

In diesem Beispiel wird das Erforderliche importiert und verwendetAWSService V3 paketiert Clients, V3-Befehle und verwendet diesendMethode in einem async/await-Muster. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige kleinere Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von V3-Befehlen.

Anmerkung

ErsetzenVORLAGENNAMEmit einem Namen für die neue VorlageHTML_CONTENTmit dem HTML-getaggten Inhalt der E-Mail,GEGENSTANDmit dem Betreff der E-Mail undTEXT_CONTENTmit dem Text der E-Mail.

import { CreateTemplateCommand } from "@aws-sdk/client-ses"; import { sesClient } from "./libs/sesClient.js"; import { getUniqueName } from "../../libs/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 an der Eingabeaufforderung Folgendes ein. Die Vorlage wird zu Amazon SES hinzugefügt.

node ses_createtemplate.js

Diesen Beispielcode finden Siehier gilt: GitHub.

Aktualisieren einer E-Mail-Vorlage

In diesem Beispiel erstellen Sie mithilfe eines Moduls Node.js eine E-Mail-Vorlage, die mit Amazon SES verwendet werden kann.

Erstellen eineslibsund erstellen Sie ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SES SES-Client-Objekt erstellt wird. ErsetzenREGIONWenn hierAWSRegion :

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 Siehier gilt: 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 ruft aufUpdateTemplateCommand-Methode, rufen Sie ein Amazon SES SES-Serviceobjekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel wird das Erforderliche importiert und verwendetAWSService V3 paketiert Clients, V3-Befehle und verwendet diesendMethode in einem async/await-Muster. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige kleinere Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von V3-Befehlen.

Anmerkung

ErsetzenVORLAGENNAMEmit einem Namen der Vorlage,HTML_CONTENTmit dem HTML-getaggten Inhalt der E-Mail,GEGENSTANDmit dem Betreff der E-Mail undTEXT_CONTENTmit dem Text der E-Mail.

import { UpdateTemplateCommand } from "@aws-sdk/client-ses"; import { getUniqueName } from "../../libs/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 Eingabeaufforderung Folgendes ein. Amazon SES gibt die Vorlagendetails zurück.

node ses_updatetemplate.js

Diesen Beispielcode finden Siehier gilt: GitHub.

Löschen einer E-Mail-Vorlage

In diesem Beispiel erstellen Sie mithilfe eines Moduls Node.js eine E-Mail-Vorlage, die mit Amazon SES verwendet werden kann.

Erstellen eineslibsund erstellen Sie ein Modul Node.js mit dem DateinamensesClient.js. Kopieren Sie den folgenden Code und fügen Sie ihn ein, wodurch das Amazon SES SES-Client-Objekt erstellt wird. ErsetzenREGIONWenn hierAWSRegion :

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 Siehier gilt: 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 ruft aufDeleteTemplateCommand-Methode, rufen Sie ein Amazon SES SES-Serviceobjekt auf und übergeben die Parameter.

Anmerkung

In diesem Beispiel wird das Erforderliche importiert und verwendetAWSService V3 paketiert Clients, V3-Befehle und verwendet diesendMethode in einem async/await-Muster. Sie können dieses Beispiel stattdessen mit V2-Befehlen erstellen, indem Sie einige kleinere Änderungen vornehmen. Details hierzu finden Sie unter Verwenden von V3-Befehlen.

Anmerkung

ErsetzenVORLAGENNAMEmit dem Namen der zu löschenden Vorlage.

import { DeleteTemplateCommand } from "@aws-sdk/client-ses"; import { getUniqueName } from "../../libs/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 an der Eingabeaufforderung Folgendes ein. Amazon SES gibt die Vorlagendetails zurück.

node ses_deletetemplate.js

Diesen Beispielcode finden Siehier gilt: GitHub.