Kami mengumumkan
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengirim Email Menggunakan Amazon SES
Contoh kode Node.js ini menunjukkan:
Kirim teks atau email HTML.
Kirim email berdasarkan template email.
Kirim email massal berdasarkan template email.
Amazon SES API menyediakan dua cara berbeda bagi Anda untuk mengirim email, tergantung pada seberapa banyak kontrol yang Anda inginkan atas komposisi pesan email: diformat dan mentah. Untuk detailnya, lihat Mengirim Email Berformat Menggunakan Amazon SES API dan Mengirim Email Mentah Menggunakan Amazon SES API.
Skenario
Dalam contoh ini, Anda menggunakan serangkaian modul Node.js untuk mengirim email dengan berbagai cara. Modul Node.js menggunakan SDK JavaScript untuk membuat dan menggunakan templat email menggunakan metode kelas AWS.SES
klien berikut:
Tugas Prasyarat
Instal Node.js. Untuk informasi selengkapnya tentang menginstal Node.js, lihat situs web Node.js
. Buat file konfigurasi bersama dengan kredensi pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file JSON kredensial, lihat. Memuat Kredensial di Node.js dari File Kredensial Bersama
Persyaratan Pengiriman Pesan Email
Amazon SES membuat pesan email dan segera mengantri untuk dikirim. Untuk mengirim email menggunakan SES.sendEmail
metode ini, pesan Anda harus memenuhi persyaratan berikut:
Anda harus mengirim pesan dari alamat email atau domain yang diverifikasi. Jika Anda mencoba mengirim email menggunakan alamat atau domain yang tidak diverifikasi, operasi akan menghasilkan
"Email address not verified"
kesalahan.Jika akun Anda masih dalam kotak pasir Amazon SES, Anda hanya dapat mengirim ke alamat atau domain terverifikasi, atau ke alamat email yang terkait dengan Simulator Kotak Surat Amazon SES. Untuk informasi selengkapnya, lihat Memverifikasi Alamat Email dan Domain di Panduan Pengembang Layanan Email Sederhana Amazon.
Ukuran total pesan, termasuk lampiran, harus lebih kecil dari 10 MB.
Pesan harus menyertakan setidaknya satu alamat email penerima. Alamat penerima dapat berupa alamat Kepada:, alamat CC:, atau alamat BCC:. Jika alamat email penerima tidak valid (artinya, tidak dalam format
UserName@[SubDomain.]Domain.TopLevelDomain
), seluruh pesan ditolak, bahkan jika pesan berisi penerima lain yang valid.Pesan tidak dapat menyertakan lebih dari 50 penerima, di bidang Kepada:, CC: dan BCC:. Jika Anda perlu mengirim pesan email ke audiens yang lebih besar, Anda dapat membagi daftar penerima Anda menjadi grup 50 atau kurang, dan kemudian memanggil
sendEmail
metode beberapa kali untuk mengirim pesan ke setiap grup.
Mengirim Email
Dalam contoh ini, gunakan modul Node.js untuk mengirim email dengan Amazon SES. Buat modul Node.js dengan nama fileses_sendemail.js
. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek untuk meneruskan nilai parameter yang menentukan email yang akan dikirim, termasuk alamat pengirim dan penerima, subjek, badan email dalam format teks biasa dan HTML, ke sendEmail
metode kelas AWS.SES
klien. Untuk memanggil sendEmail
metode ini, buat janji untuk menjalankan objek layanan Amazon SES, melewati parameter. Kemudian tangani callback response
in the promise.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah. Email diantrian untuk dikirim oleh Amazon SES.
node ses_sendemail.js
Kode contoh ini dapat ditemukan di sini GitHub
Mengirim Email Menggunakan Template
Dalam contoh ini, gunakan modul Node.js untuk mengirim email dengan Amazon SES. Buat modul Node.js dengan nama fileses_sendtemplatedemail.js
. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek untuk meneruskan nilai parameter yang menentukan email yang akan dikirim, termasuk alamat pengirim dan penerima, subjek, badan email dalam format teks biasa dan HTML, ke sendTemplatedEmail
metode kelas AWS.SES
klien. Untuk memanggil sendTemplatedEmail
metode ini, buat janji untuk menjalankan objek layanan Amazon SES, melewati parameter. Kemudian tangani callback response
in the promise.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah. Email diantrian untuk dikirim oleh Amazon SES.
node ses_sendtemplatedemail.js
Kode contoh ini dapat ditemukan di sini GitHub
Mengirim Email Massal Menggunakan Template
Dalam contoh ini, gunakan modul Node.js untuk mengirim email dengan Amazon SES. Buat modul Node.js dengan nama fileses_sendbulktemplatedemail.js
. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya.
Buat objek untuk meneruskan nilai parameter yang menentukan email yang akan dikirim, termasuk alamat pengirim dan penerima, subjek, badan email dalam format teks biasa dan HTML, ke sendBulkTemplatedEmail
metode kelas AWS.SES
klien. Untuk memanggil sendBulkTemplatedEmail
metode ini, buat janji untuk menjalankan objek layanan Amazon SES, melewati parameter. Kemudian tangani callback response
in the promise.
// 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); });
Untuk menjalankan contoh, ketik berikut ini di baris perintah. Email diantrian untuk dikirim oleh Amazon SES.
node ses_sendbulktemplatedemail.js
Kode contoh ini dapat ditemukan di sini GitHub