Mengirim Email Menggunakan Amazon SES - AWS SDK for JavaScript

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for JavaScript v2. Kami menyarankan Anda bermigrasi ke AWS SDK for JavaScript v3. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

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

JavaScript code example that applies to Node.js execution

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

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 formatUserName@[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.