Amazon での E メールテンプレートの使用 SES - AWS SDK for JavaScript

AWS SDK for JavaScript V3 APIリファレンスガイドでは、バージョン 3 (V3) のすべてのAPIオペレーションについて詳しく説明しています AWS SDK for JavaScript 。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon での E メールテンプレートの使用 SES

JavaScript code example that applies to Node.js execution

この Node.js コード例は以下を示しています。

  • すべてのEメールテンプレートの一覧表を取得する方法

  • E メールテンプレートを取得して更新する方法

  • E メールテンプレートを作成して削除する方法

Amazon SESでは、E メールテンプレートを使用してパーソナライズされた E メールメッセージを送信できます。Amazon で E メールテンプレートを作成して使用する方法の詳細についてはSES、Amazon SES Simple Email Service デベロッパーガイドの「Amazon を使用したパーソナライズされた E API メールの送信」を参照してください。

シナリオ

この例では、一連の Node.js モジュールを使用して E メールテンプレートを操作します。Node.js モジュールは、 SDKの を使用して JavaScript 、SESクライアントクラスの次のメソッドを使用して E メールテンプレートを作成および使用します。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。

  • これらのノード TypeScript 例を実行するようにプロジェクト環境を設定し、必要な AWS SDK for JavaScript モジュールとサードパーティモジュールをインストールします。「」の指示に従ってください GitHub

重要

これらの例は、 ECMAScript6 () を使用してクライアントサービスオブジェクトとコマンドをインポート/エクスポートする方法を示していますES6。

  • これには Node.js バージョン 13.x 以降が必要です。Node.js の最新バージョンをダウンロードしてインストールするには、「Node.js ダウンロード」を参照してください。

  • CommonJS 構文を使用する場合は、「JavaScript ES6/CommonJS 構文」を参照してください。

Eメールテンプレートの一覧表示

この例では、Node.js モジュールを使用して、Amazon で使用する E メールテンプレートを作成しますSES。

libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、Amazon SESクライアントオブジェクトが作成されます。置換 REGION を AWS リージョンで使用します。

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

このサンプルコードは、 にあります GitHub

ses_listtemplates.js というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定します。

SES クライアントクラスの ListTemplatesCommand メソッドのパラメータを渡すオブジェクトを作成します。ListTemplatesCommand メソッドを呼び出すには、パラメータを渡して Amazon SESクライアントサービスオブジェクトを呼び出します。

注記

この例では、必要な AWS Service V3 パッケージクライアント、V3 コマンドをインポートして使用し、非同期/待機パターンで sendメソッドを使用します。この例は、代わりに少し変更を加えてV2コマンドで作成できます。詳細については、「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; } };

この例を実行するには、コマンドプロンプトで以下を入力します。Amazon はテンプレートのリストSESを返します。

node ses_listtemplates.js

このサンプルコードは、 にあります GitHub

E メールテンプレートの取得

この例では、Node.js モジュールを使用して、Amazon で使用する E メールテンプレートを取得しますSES。

libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、Amazon SESクライアントオブジェクトが作成されます。置換 REGION を AWS リージョンで使用します。

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

このサンプルコードは、 にあります GitHub

ses_gettemplate.js というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定します。

SES クライアントクラスの GetTemplateCommand メソッドに TemplateName パラメータを渡すオブジェクトを作成します。GetTemplateCommand メソッドを呼び出すには、パラメータを渡して Amazon SESクライアントサービスオブジェクトを呼び出します。

注記

この例では、必要な AWS Service V3 パッケージクライアント、V3 コマンドをインポートして使用し、非同期/待機パターンで sendメソッドを使用します。この例は、代わりに少し変更を加えてV2コマンドで作成できます。詳細については、「v3 コマンドの使用」を参照してください。

注記

置換 TEMPLATE_NAME を返すテンプレートの名前に置き換えます。

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

この例を実行するには、コマンドプロンプトで以下を入力します。Amazon はテンプレートの詳細SESを返します。

node ses_gettemplate.js

このサンプルコードは、 にあります GitHub

Eメールテンプレートの作成

この例では、Node.js モジュールを使用して、Amazon で使用する E メールテンプレートを作成しますSES。

libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、Amazon SESクライアントオブジェクトが作成されます。置換 REGION を AWS リージョンで使用します。

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

このサンプルコードは、 にあります GitHub

ses_createtemplate.js というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定します。

TemplateNameHtmlPartSubjectPart および TextPart を含む、SES クライアントクラスの CreateTemplateCommand メソッドのパラメータを渡すオブジェクトを作成します。CreateTemplateCommand メソッドを呼び出すには、パラメータを渡して Amazon SESクライアントサービスオブジェクトを呼び出します。

注記

この例では、必要な AWS Service V3 パッケージクライアント、V3 コマンドをインポートして使用し、非同期/待機パターンで sendメソッドを使用します。この例は、代わりに少し変更を加えてV2コマンドで作成できます。詳細については、「v3 コマンドの使用」を参照してください。

注記

置換 TEMPLATE_NAME 新しいテンプレートの名前、HtmlPart E メールのHTMLタグ付けされたコンテンツ、および SubjectPart E メールの件名の 。

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

この例を実行するには、コマンドプロンプトで以下を入力します。テンプレートが Amazon に追加されますSES。

node ses_createtemplate.js

このサンプルコードは、 にあります GitHub

E メールテンプレートの更新

この例では、Node.js モジュールを使用して、Amazon で使用する E メールテンプレートを作成しますSES。

libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、Amazon SESクライアントオブジェクトが作成されます。置換 REGION を AWS リージョンで使用します。

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

このサンプルコードは、 にあります GitHub

ses_updatetemplate.js というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定します。

必要な TemplateName パラメータを SES クライアントクラスの UpdateTemplateCommand メソッドに渡して、テンプレートで更新する Template パラメータ値を渡すオブジェクトを作成します。UpdateTemplateCommand メソッドを呼び出すには、パラメータを渡して Amazon SESサービスオブジェクトを呼び出します。

注記

この例では、必要な AWS Service V3 パッケージクライアント、V3 コマンドをインポートして使用し、非同期/待機パターンで sendメソッドを使用します。この例は、代わりに少し変更を加えてV2コマンドで作成できます。詳細については、「v3 コマンドの使用」を参照してください。

注記

置換 TEMPLATE_NAME テンプレートの名前と HTML_PART E メールのHTMLタグ付けされたコンテンツを含む 。

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

この例を実行するには、コマンドプロンプトで以下を入力します。Amazon はテンプレートの詳細SESを返します。

node ses_updatetemplate.js

このサンプルコードは、 にあります GitHub

E メールテンプレートの削除

この例では、Node.js モジュールを使用して、Amazon で使用する E メールテンプレートを作成しますSES。

libsディレクトリを作成し、ファイル名sesClient.jsでNode.js モジュールを作成します。以下のコードをコピーして貼り付けると、Amazon SESクライアントオブジェクトが作成されます。置換 REGION を AWS リージョンで使用します。

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

このサンプルコードは、 にあります GitHub

ses_deletetemplate.js というファイル名で Node.js モジュールを作成します。必要なクライアントとパッケージのインストールを含め、前述のSDKように を設定します。

必要な TemplateName パラメータを SES クライアントクラスの DeleteTemplateCommand メソッドに渡すオブジェクトを作成します。DeleteTemplateCommand メソッドを呼び出すには、パラメータを渡して Amazon SESサービスオブジェクトを呼び出します。

注記

この例では、必要な AWS Service V3 パッケージクライアント、V3 コマンドをインポートして使用し、非同期/待機パターンで sendメソッドを使用します。この例は、代わりに少し変更を加えてV2コマンドで作成できます。詳細については、「v3 コマンドの使用」を参照してください。

注記

置換 TEMPLATE_NAME 削除するテンプレートの名前。

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

この例を実行するには、コマンドプロンプトで以下を入力します。Amazon はテンプレートの詳細SESを返します。

node ses_deletetemplate.js

このサンプルコードは、 にあります GitHub