

AWS SDK for JavaScript v2 はサポート終了となりました。[AWS SDK for JavaScript v3](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/) に移行することをお勧めします。その他の詳細、移行方法については、こちらの[発表内容](https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)を参照してください。

# Amazon SES での E メールテンプレートの操作
<a name="ses-examples-creating-template"></a>

![JavaScript code example that applies to Node.js execution](https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**この Node.js コード例は以下を示しています。**
+ すべての E メールテンプレートのリストを取得します。
+ E メールテンプレートを取得して更新します。
+ E メールテンプレートを作成および削除します。

Amazon SES では、E メールテンプレートを使用してパーソナライズされた E メールメッセージを送信できます。Amazon Simple Email Service で E メールテンプレートを作成および使用する方法にの詳細については、Amazon Simple Email Service デベロッパーガイドの[Amazon SES API を使用してパーソナライズされた E メールを送信する](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html)を参照してください。

## シナリオ
<a name="ses-examples-creating-template-scenario"></a>

この例では、一連の Node.js モジュールを使用して E メールテンプレートを操作します。Node.js モジュールは SDK for JavaScript を使用し、`AWS.SES` クライアントクラスの次のメソッドを使用して E メールテンプレートを作成して使用します。
+ [`listTemplates`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#listTemplates-property)
+ [`createTemplate`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#createTemplate-property)
+ [`getTemplate`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#getTemplate-property)
+ [`deleteTemplate`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#deleteTemplate-property)
+ [`updateTemplate`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#updateTemplate-property)

## 前提条件タスク
<a name="ses-examples-creating-template-prerequisites"></a>

この例をセットアップして実行するには、まず次のタスクを完了する必要があります。
+ Node.js をインストールします。Node.js をインストールする方法の詳細については、[Node.js ウェブサイト](https://nodejs.org)を参照してください。
+ ユーザーの認証情報を使用して、共有設定ファイルを作成します。認証情報ファイルの作成の詳細については、「[共有認証情報ファイルから Node.js に認証情報をロードする](loading-node-credentials-shared.md)」を参照してください。

## E メールテンプレートの一覧表示
<a name="ses-examples-listing-templates"></a>

この例では、Node.js モジュールを使用して Amazon SES で使用する E メールテンプレートを作成します。`ses_listtemplates.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。

`listTemplates` クライアントクラスの `AWS.SES` メソッドのパラメータを渡すオブジェクトを作成します。`listTemplates` メソッドを呼び出すには、Amazon SES サービスオブジェクトを呼び出すための promise を作成し、パラメータを渡します。その後、promise コールバックの `response` を処理します。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the promise and SES service object
var templatePromise = new AWS.SES({ apiVersion: "2010-12-01" })
  .listTemplates({ MaxItems: ITEMS_COUNT })
  .promise();

// Handle promise's fulfilled/rejected states
templatePromise
  .then(function (data) {
    console.log(data);
  })
  .catch(function (err) {
    console.error(err, err.stack);
  });
```

この例を実行するには、コマンドラインに次のように入力します。Amazon SES はテンプレートのリストを返します。

```
node ses_listtemplates.js
```

 このサンプルコードは、[このGitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ses/ses_listtemplates.js)にあります。

## E メールテンプレートの取得
<a name="ses-examples-get-template"></a>

この例では、Node.js モジュールを使用して Amazon SES で使用する E メールテンプレートを取得します。`ses_gettemplate.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。

`TemplateName` クライアントクラスの `getTemplate` メソッドに `AWS.SES` パラメータを渡すオブジェクトを作成します。`getTemplate` メソッドを呼び出すには、Amazon SES サービスオブジェクトを呼び出すための promise を作成し、パラメータを渡します。その後、promise コールバックの `response` を処理します。

```
// Load the AWS SDK for Node.js.
var AWS = require("aws-sdk");
// Set the AWS Region.
AWS.config.update({ region: "REGION" });

// Create the promise and Amazon Simple Email Service (Amazon SES) service object.
var templatePromise = new AWS.SES({ apiVersion: "2010-12-01" })
  .getTemplate({ TemplateName: "TEMPLATE_NAME" })
  .promise();

// Handle promise's fulfilled/rejected states
templatePromise
  .then(function (data) {
    console.log(data.Template.SubjectPart);
  })
  .catch(function (err) {
    console.error(err, err.stack);
  });
```

この例を実行するには、コマンドラインに次のように入力します。Amazon SES はテンプレートの詳細を返します。

```
node ses_gettemplate.js
```

 このサンプルコードは、[このGitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ses/ses_gettemplate.js)にあります。

## E メールテンプレートの作成
<a name="ses-examples-create-template"></a>

この例では、Node.js モジュールを使用して Amazon SES で使用する E メールテンプレートを作成します。`ses_createtemplate.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。

`createTemplate`、`AWS.SES`、`TemplateName` および `HtmlPart` を含む、`SubjectPart` クライアントクラスの `TextPart` メソッドのパラメータを渡すオブジェクトを作成します。`createTemplate` メソッドを呼び出すには、Amazon SES サービスオブジェクトを呼び出すための promise を作成し、パラメータを渡します。その後、promise コールバックの `response` を処理します。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create createTemplate params
var params = {
  Template: {
    TemplateName: "TEMPLATE_NAME" /* required */,
    HtmlPart: "HTML_CONTENT",
    SubjectPart: "SUBJECT_LINE",
    TextPart: "TEXT_CONTENT",
  },
};

// Create the promise and SES service object
var templatePromise = new AWS.SES({ apiVersion: "2010-12-01" })
  .createTemplate(params)
  .promise();

// Handle promise's fulfilled/rejected states
templatePromise
  .then(function (data) {
    console.log(data);
  })
  .catch(function (err) {
    console.error(err, err.stack);
  });
```

この例を実行するには、コマンドラインに次のように入力します。テンプレートが Amazon SES に追加されます。

```
node ses_createtemplate.js
```

 このサンプルコードは、[このGitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ses/ses_createtemplate.js)にあります。

## E メールテンプレートの更新
<a name="ses-examples-update-template"></a>

この例では、Node.js モジュールを使用して Amazon SES で使用する E メールテンプレートを作成します。`ses_updatetemplate.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。

必要な `Template` パラメータを `TemplateName` クライアントクラスの `updateTemplate` メソッドに渡して、テンプレートで更新する `AWS.SES` パラメータ値を渡すオブジェクトを作成します。`updateTemplate` メソッドを呼び出すには、Amazon SES サービスオブジェクトを呼び出すための promise を作成し、パラメータを渡します。その後、promise コールバックの `response` を処理します。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create updateTemplate parameters
var params = {
  Template: {
    TemplateName: "TEMPLATE_NAME" /* required */,
    HtmlPart: "HTML_CONTENT",
    SubjectPart: "SUBJECT_LINE",
    TextPart: "TEXT_CONTENT",
  },
};

// Create the promise and SES service object
var templatePromise = new AWS.SES({ apiVersion: "2010-12-01" })
  .updateTemplate(params)
  .promise();

// Handle promise's fulfilled/rejected states
templatePromise
  .then(function (data) {
    console.log("Template Updated");
  })
  .catch(function (err) {
    console.error(err, err.stack);
  });
```

この例を実行するには、コマンドラインに次のように入力します。Amazon SES はテンプレートの詳細を返します。

```
node ses_updatetemplate.js
```

 このサンプルコードは、[このGitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ses/ses_updatetemplate.js)にあります。

## E メールテンプレートの削除
<a name="ses-examples-delete-template"></a>

この例では、Node.js モジュールを使用して Amazon SES で使用する E メールテンプレートを作成します。`ses_deletetemplate.js` というファイル名で Node.js モジュールを作成します。前に示したように SDK を設定します。

必要な `TemplateName` パラメータを `deleteTemplate` クライアントクラスの `AWS.SES` メソッドに渡すオブジェクトを作成します。`deleteTemplate` メソッドを呼び出すには、Amazon SES サービスオブジェクトを呼び出すための promise を作成し、パラメータを渡します。その後、promise コールバックの `response` を処理します。

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create the promise and SES service object
var templatePromise = new AWS.SES({ apiVersion: "2010-12-01" })
  .deleteTemplate({ TemplateName: "TEMPLATE_NAME" })
  .promise();

// Handle promise's fulfilled/rejected states
templatePromise
  .then(function (data) {
    console.log("Template Deleted");
  })
  .catch(function (err) {
    console.error(err, err.stack);
  });
```

この例を実行するには、コマンドラインに次のように入力します。Amazon SES はテンプレートの詳細を返します。

```
node ses_deletetemplate.js
```

 このサンプルコードは、[このGitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ses/ses_deletetemplate.js)にあります。