Wir haben das Kommende end-of-support für AWS SDK for JavaScript v2 angekündigt
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.
Senden von E-Mails mit Amazon SES
Dieses Node.js-Codebeispiel zeigt:
das Senden einer Text- oder HTML-E-Mail.
das Senden von E-Mails, die auf einer E-Mail-Vorlage basieren.
das Senden von Massen-E-Mails, die auf einer E-Mail-Vorlage basieren.
Die Amazon SES SES-API bietet Ihnen zwei verschiedene Möglichkeiten, eine E-Mail zu senden, je nachdem, wie viel Kontrolle Sie über die Zusammensetzung der E-Mail-Nachricht haben möchten: formatiert und roh. Einzelheiten finden Sie unter Senden formatierter E-Mails mit der Amazon SES SES-API und Senden von Roh-E-Mails mit der Amazon SES SES-API.
Das Szenario
In diesem Beispiel verwenden Sie mehrere Node.js-Module, um E-Mails auf verschiedene Weisen zu senden. Die Module Node.js verwenden das SDK JavaScript , um E-Mail-Vorlagen mit den folgenden Methoden der AWS.SES
Client-Klasse zu erstellen und zu verwenden:
Erforderliche Aufgaben
Installieren Sie Node.js. Weitere Informationen über die Installation von Node.js finden Sie auf der Node.js-Website
. Erstellen Sie eine freigegebene Konfigurationsdatei mit Ihren Anmeldeinformationen. Weitere Informationen zum Bereitstellen einer JSON-Datei mit den Anmeldeinformationen finden Sie unter Laden der Anmeldeinformationen in Node.js aus der freigegebenen Anmeldeinformationsdatei.
Voraussetzungen zum Senden von E-Mail-Nachrichten
Amazon SES verfasst eine E-Mail-Nachricht und stellt sie sofort in die Warteschlange für den Versand. Damit Sie mithilfe der SES.sendEmail
-Methode E-Mails senden können, muss Ihre Nachricht die folgenden Anforderungen erfüllen:
Sie müssen die Nachricht von einer verifizierten E-Mail-Adresse oder Domäne senden. Wenn Sie versuchen, E-Mails über eine nicht verifizierte Adresse oder Domäne zu senden, führt die Operation zu einem
"Email address not verified"
-Fehler.Wenn sich Ihr Konto noch in der Amazon SES Sandbox befindet, können Sie die E-Mails nur an verifizierte Adressen oder Domänen oder E-Mail-Adressen des Amazon SES-Postfachsimulators senden. Weitere Informationen finden Sie unter Verifizieren von E-Mail-Adressen und Domains im Amazon Simple Email Service Developer Guide.
Die Gesamtgröße der Nachricht, einschließlich Anlagen, muss kleiner als 10 MB sein.
Die Nachricht muss mindestens eine E-Mail-Adresse für einen Empfänger enthalten. Bei der Empfänger-Adresse kann es sich um eine Empfängeradresse, eine CC: Adresse oder BCC: Adresse handeln. Wenn eine Empfänger-E-Mail-Adresse ungültig ist (d. h., wenn sie nicht das Format
UserName@[SubDomain.]Domain.TopLevelDomain
aufweist), wird die gesamte Nachricht abgelehnt, selbst wenn die Nachricht Empfänger umfasst, die gültig sind.Die Nachricht kann nicht mehr als 50 Empfänger in den Feldern „An:“, „CC:“ und „BCC:“ umfassen. Wenn Sie eine E-Mail an eine größere Zielgruppe senden möchten, können Sie Ihre Empfängerliste in Gruppen von höchstens 50 unterteilen und dann die
sendEmail
-Methode aufrufen, um die Nachricht mehrmals an die einzelnen Gruppen zu senden.
Senden von E-Mails
In diesem Beispiel verwenden Sie ein Node.js-Modul zum Senden von E-Mail mit Amazon SES. Erstellen Sie ein Node.js-Modul mit dem Dateinamen ses_sendemail.js
. Konfigurieren Sie das SDK wie zuvor dargestellt.
Erstellen Sie ein Objekt, um die Parameterwerte, die die zu sendende E-Mail definieren, z. B. die Sender- und Empfängeradressen, Betreff, E-Mail-Text im Klartext- und HTML-Format, an die sendEmail
-Methode der AWS.SES
-Client-Klasse zu übergeben. Um die sendEmail
-Methode aufzurufen, erstellen Sie ein Promise für den Aufruf eines Amazon SES-Serviceobjekts und übergeben die Parameter. Verarbeiten Sie anschließend die response
im Promise-Callback.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create sendEmail params var params = { Destination: { /* required */ CcAddresses: [ "EMAIL_ADDRESS", /* more items */ ], ToAddresses: [ "EMAIL_ADDRESS", /* more items */ ], }, Message: { /* required */ Body: { /* required */ Html: { Charset: "UTF-8", Data: "HTML_FORMAT_BODY", }, Text: { Charset: "UTF-8", Data: "TEXT_FORMAT_BODY", }, }, Subject: { Charset: "UTF-8", Data: "Test email", }, }, Source: "SENDER_EMAIL_ADDRESS" /* required */, ReplyToAddresses: [ "EMAIL_ADDRESS", /* more items */ ], }; // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .sendEmail(params) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log(data.MessageId); }) .catch(function (err) { console.error(err, err.stack); });
Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein. Die E-Mail befindet sich in der Warteschlange für den Versand durch Amazon SES.
node ses_sendemail.js
Diesen Beispielcode finden Sie hier auf GitHub.
Senden einer E-Mail mit einer Vorlage
In diesem Beispiel verwenden Sie ein Node.js-Modul zum Senden von E-Mail mit Amazon SES. Erstellen Sie ein Node.js-Modul mit dem Dateinamen ses_sendtemplatedemail.js
. Konfigurieren Sie das SDK wie zuvor dargestellt.
Erstellen Sie ein Objekt, um die Parameterwerte, die die zu sendende E-Mail definieren, z. B. die Sender- und Empfängeradressen, Betreff, E-Mail-Text im Klartext- und HTML-Format, an die sendTemplatedEmail
-Methode der AWS.SES
-Client-Klasse zu übergeben. Um die sendTemplatedEmail
-Methode aufzurufen, erstellen Sie ein Promise für den Aufruf eines Amazon SES-Serviceobjekts und übergeben die Parameter. Verarbeiten Sie anschließend die response
im Promise-Callback.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create sendTemplatedEmail params var params = { Destination: { /* required */ CcAddresses: [ "EMAIL_ADDRESS", /* more CC email addresses */ ], ToAddresses: [ "EMAIL_ADDRESS", /* more To email addresses */ ], }, Source: "EMAIL_ADDRESS" /* required */, Template: "TEMPLATE_NAME" /* required */, TemplateData: '{ "REPLACEMENT_TAG_NAME":"REPLACEMENT_VALUE" }' /* required */, ReplyToAddresses: ["EMAIL_ADDRESS"], }; // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .sendTemplatedEmail(params) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log(data); }) .catch(function (err) { console.error(err, err.stack); });
Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein. Die E-Mail befindet sich in der Warteschlange für den Versand durch Amazon SES.
node ses_sendtemplatedemail.js
Diesen Beispielcode finden Sie hier auf GitHub.
Senden einer Massen-E-Mail mithilfe einer Vorlage
In diesem Beispiel verwenden Sie ein Node.js-Modul zum Senden von E-Mail mit Amazon SES. Erstellen Sie ein Node.js-Modul mit dem Dateinamen ses_sendbulktemplatedemail.js
. Konfigurieren Sie das SDK wie zuvor dargestellt.
Erstellen Sie ein Objekt, um die Parameterwerte, die die zu sendende E-Mail definieren, z. B. die Sender- und Empfängeradressen, Betreff, E-Mail-Text im Klartext- und HTML-Format, an die sendBulkTemplatedEmail
-Methode der AWS.SES
-Client-Klasse zu übergeben. Um die sendBulkTemplatedEmail
-Methode aufzurufen, erstellen Sie ein Promise für den Aufruf eines Amazon SES-Serviceobjekts und übergeben die Parameter. Verarbeiten Sie anschließend die response
im Promise-Callback.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create sendBulkTemplatedEmail params var params = { Destinations: [ /* required */ { Destination: { /* required */ CcAddresses: [ "EMAIL_ADDRESS", /* more items */ ], ToAddresses: [ "EMAIL_ADDRESS", "EMAIL_ADDRESS", /* more items */ ], }, ReplacementTemplateData: '{ "REPLACEMENT_TAG_NAME":"REPLACEMENT_VALUE" }', }, ], Source: "EMAIL_ADDRESS" /* required */, Template: "TEMPLATE_NAME" /* required */, DefaultTemplateData: '{ "REPLACEMENT_TAG_NAME":"REPLACEMENT_VALUE" }', ReplyToAddresses: ["EMAIL_ADDRESS"], }; // Create the promise and SES service object var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" }) .sendBulkTemplatedEmail(params) .promise(); // Handle promise's fulfilled/rejected states sendPromise .then(function (data) { console.log(data); }) .catch(function (err) { console.log(err, err.stack); });
Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein. Die E-Mail befindet sich in der Warteschlange für den Versand durch Amazon SES.
node ses_sendbulktemplatedemail.js
Diesen Beispielcode finden Sie hier auf GitHub.