Bekerja dengan template email di Amazon SES - AWS SDK for JavaScript

Panduan API Referensi AWS SDK for JavaScript V3 menjelaskan secara rinci semua API operasi untuk AWS SDK for JavaScript versi 3 (V3).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bekerja dengan template email di Amazon SES

JavaScript code example that applies to Node.js execution

Contoh kode Node.js ini menunjukkan:

  • Cara mendapatkan daftar semua template email Anda.

  • Cara mengambil dan memperbarui template email.

  • Cara membuat dan menghapus template email.

Amazon SES memungkinkan Anda mengirim pesan email yang dipersonalisasi menggunakan templat email. Untuk detail tentang cara membuat dan menggunakan templat email di AmazonSES, lihat Mengirim email yang dipersonalisasi menggunakan Amazon SES API di Panduan Pengembang Layanan Email Sederhana Amazon.

Skenario

Dalam contoh ini, Anda menggunakan serangkaian modul Node.js untuk bekerja dengan template email. Modul Node.js menggunakan SDK for JavaScript untuk membuat dan menggunakan template email menggunakan metode kelas SES klien berikut:

Tugas prasyarat

Untuk mengatur dan menjalankan contoh ini, Anda harus terlebih dahulu menyelesaikan tugas-tugas ini:

  • Siapkan lingkungan proyek untuk menjalankan TypeScript contoh Node ini, dan instal modul yang diperlukan AWS SDK for JavaScript dan pihak ketiga. Ikuti instruksi pada GitHub.

penting

Contoh-contoh ini menunjukkan bagaimana mengimpor/mengekspor objek layanan klien dan perintah menggunakan ECMAScript6 ()ES6.

Daftar template email Anda

Dalam contoh ini, gunakan modul Node.js untuk membuat template email untuk digunakan dengan AmazonSES.

Buat libs direktori, dan buat modul Node.js dengan nama filesesClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang membuat objek SES klien Amazon. Ganti REGION dengan AWS wilayah Anda.

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

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileses_listtemplates.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Buat objek untuk melewati parameter untuk ListTemplatesCommand metode kelas SES klien. Untuk memanggil ListTemplatesCommand metode, panggil objek layanan SES klien Amazon, meneruskan parameter.

catatan

Contoh ini mengimpor dan menggunakan klien paket AWS Service V3 yang diperlukan, perintah V3, dan menggunakan send metode dalam pola async/await. Anda dapat membuat contoh ini menggunakan perintah V2 sebagai gantinya dengan membuat beberapa perubahan kecil. Lihat perinciannya di Menggunakan perintah v3.

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

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt. Amazon SES mengembalikan daftar template.

node ses_listtemplates.js

Kode contoh ini dapat ditemukan di sini GitHub.

Mendapatkan template email

Dalam contoh ini, gunakan modul Node.js untuk mendapatkan template email untuk digunakan dengan AmazonSES.

Buat libs direktori, dan buat modul Node.js dengan nama filesesClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang membuat objek SES klien Amazon. Ganti REGION dengan AWS wilayah Anda.

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

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileses_gettemplate.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Buat objek untuk melewati TemplateName parameter untuk GetTemplateCommand metode kelas SES klien. Untuk memanggil GetTemplateCommand metode, panggil objek layanan SES klien Amazon, meneruskan parameter.

catatan

Contoh ini mengimpor dan menggunakan klien paket AWS Service V3 yang diperlukan, perintah V3, dan menggunakan send metode dalam pola async/await. Anda dapat membuat contoh ini menggunakan perintah V2 sebagai gantinya dengan membuat beberapa perubahan kecil. Lihat perinciannya di Menggunakan perintah v3.

catatan

Ganti TEMPLATE_NAME dengan nama template yang akan dikembalikan.

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

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt. Amazon SES mengembalikan detail template.

node ses_gettemplate.js

Kode contoh ini dapat ditemukan di sini GitHub.

Membuat template email

Dalam contoh ini, gunakan modul Node.js untuk membuat template email untuk digunakan dengan AmazonSES.

Buat libs direktori, dan buat modul Node.js dengan nama filesesClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang membuat objek SES klien Amazon. Ganti REGION dengan AWS wilayah Anda.

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

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileses_createtemplate.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Buat objek untuk melewati parameter untuk CreateTemplateCommand metode kelas SES klien, termasuk,TemplateName, HtmlPartSubjectPart, danTextPart. Untuk memanggil CreateTemplateCommand metode, panggil objek layanan SES klien Amazon, meneruskan parameter.

catatan

Contoh ini mengimpor dan menggunakan klien paket AWS Service V3 yang diperlukan, perintah V3, dan menggunakan send metode dalam pola async/await. Anda dapat membuat contoh ini menggunakan perintah V2 sebagai gantinya dengan membuat beberapa perubahan kecil. Lihat perinciannya di Menggunakan perintah v3.

catatan

Ganti TEMPLATE_NAME dengan nama untuk template baru, HtmlPart dengan konten email HTML yang ditandai, dan SubjectPart dengan subjek email.

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

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt. Template ditambahkan ke AmazonSES.

node ses_createtemplate.js

Kode contoh ini dapat ditemukan di sini GitHub.

Memperbarui templat email

Dalam contoh ini, gunakan modul Node.js untuk membuat template email untuk digunakan dengan AmazonSES.

Buat libs direktori, dan buat modul Node.js dengan nama filesesClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang membuat objek SES klien Amazon. Ganti REGION dengan AWS wilayah Anda.

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

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileses_updatetemplate.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Buat objek untuk meneruskan nilai Template parameter yang ingin Anda perbarui di template, dengan TemplateName parameter yang diperlukan diteruskan ke UpdateTemplateCommand metode kelas SES klien. Untuk memanggil UpdateTemplateCommand metode, panggil objek SES layanan Amazon, melewati parameter.

catatan

Contoh ini mengimpor dan menggunakan klien paket AWS Service V3 yang diperlukan, perintah V3, dan menggunakan send metode dalam pola async/await. Anda dapat membuat contoh ini menggunakan perintah V2 sebagai gantinya dengan membuat beberapa perubahan kecil. Lihat perinciannya di Menggunakan perintah v3.

catatan

Ganti TEMPLATE_NAME dengan nama template dan HTML_PART dengan konten email yang HTML ditandai.

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

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt. Amazon SES mengembalikan detail template.

node ses_updatetemplate.js

Kode contoh ini dapat ditemukan di sini GitHub.

Menghapus templat email

Dalam contoh ini, gunakan modul Node.js untuk membuat template email untuk digunakan dengan AmazonSES.

Buat libs direktori, dan buat modul Node.js dengan nama filesesClient.js. Salin dan tempel kode di bawah ini ke dalamnya, yang membuat objek SES klien Amazon. Ganti REGION dengan AWS wilayah Anda.

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

Kode contoh ini dapat ditemukan di sini GitHub.

Buat modul Node.js dengan nama fileses_deletetemplate.js. Konfigurasikan SDK seperti yang ditunjukkan sebelumnya, termasuk menginstal klien dan paket yang diperlukan.

Buat objek untuk meneruskan TemplateName parameter yang diperlukan ke DeleteTemplateCommand metode kelas SES klien. Untuk memanggil DeleteTemplateCommand metode, panggil objek SES layanan Amazon, melewati parameter.

catatan

Contoh ini mengimpor dan menggunakan klien paket AWS Service V3 yang diperlukan, perintah V3, dan menggunakan send metode dalam pola async/await. Anda dapat membuat contoh ini menggunakan perintah V2 sebagai gantinya dengan membuat beberapa perubahan kecil. Lihat perinciannya di Menggunakan perintah v3.

catatan

Ganti TEMPLATE_NAME dengan nama template yang akan dihapus.

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

Untuk menjalankan contoh, masukkan yang berikut ini di command prompt. Amazon SES mengembalikan detail template.

node ses_deletetemplate.js

Kode contoh ini dapat ditemukan di sini GitHub.