テンプレートを使用して、Amazon SES API でパーソナライズされた E メールを送信する - Amazon Simple Email Service

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

テンプレートを使用して、Amazon SES API でパーソナライズされた E メールを送信する

CreateTemplateAPI オペレーションを使用してメールテンプレートを作成できます。これらのテンプレートには、件名、E メール本文のテキストパートと HTML パートが含まれています。件名および本文セクションには、受信者ごとにパーソナライズされたユニークな値を含めることもできます。

これらの機能を使用する際に、いくつかの制限と考慮事項があります。

  • 1 つにつき 20,000 個までのメールテンプレートを作成できます。 AWS リージョン

  • 各テンプレートは、テキストと HTML パートの両方を含めて、最大 500 KB のサイズまで可能です。

  • 各テンプレートに置換変数を回数の制限なく含めることができます。

  • SendBulkTemplatedEmail オペレーションの呼び出しごとに、最大 50 個の送信先に E メールを送信できます。宛先には、受取人のリストの他に、CC および BCC の受取人が含まれます。1 回の API の呼び出しで連絡できる送信先がアカウントの最大送信レートによって制限される場合があります。詳細については、「Amazon SES 送信制限の管理」を参照してください。

このセクションでは、E メールテンプレートの作成手順と、パーソナライズされた E メールの送信手順について説明します。

注記

これらの手順では、 AWS CLIがすでにインストールされ、設定されていることを前提としています。のインストールと設定の詳細については AWS CLI、『AWS Command Line Interface ユーザガイド』を参照してください。

パート 1: レンダリング失敗イベント通知を設定する

無効なパーソナライズコンテンツを含む E メールを送信する場合、Amazon SES はメッセージを受け入れることもありますが、配信することはできません。このため、パーソナライズされた E メールを送信する場合、Amazon SNS を通じてレンダリング失敗イベント通知を送信するように Amazon SES を設定する必要があります。レンダリング失敗イベント通知を受信した場合、無効なコンテンツが含まれていたメッセージを確認し、問題を修正して、もう一度メッセージを送信できます。

このセクションの手順はオプションですが、強くお勧めします。

レンダリング失敗イベント通知を設定するには
  1. Amazon SNS トピックを作成する。手続きについては、Amazon Simple Notification Service デベロッパーガイドのトピックの作成を参照してください。

  2. Amazon SNS トピックを購読します。たとえば、E メールでレンダリング失敗通知を受信する場合は、そのトピックを E メールエンドポイント (E メールアドレス) で購読する必要があります。

    手順については、Amazon Simple Notification Service デベロッパーガイドトピックを購読するを参照してください。

  3. イベント発行の Amazon SNS イベント送信先のセットアップ」の手順を完了して、設定セットをセットアップし、レンダリング失敗イベントを Amazon SNS トピックに発行します。

パート 2: E メールのテンプレートを作成する

このセクションでは、 CreateTemplate API オペレーションを使用して、パーソナライゼーション属性を含む新しいメールテンプレートを作成します。

この手順は、 AWS CLIがすでにインストールされ、設定されていることを前提としています。のインストールと設定の詳細については AWS CLI、『AWS Command Line Interface ユーザーガイド』を参照してください。

テンプレートを作成するには
  1. テキストエディタで新規ファイルを作成します。ファイルに次のコードを貼り付けます。

    { "Template": { "TemplateName": "MyTemplate", "SubjectPart": "Greetings, {{name}}!", "HtmlPart": "<h1>Hello {{name}},</h1><p>Your favorite animal is {{favoriteanimal}}.</p>", "TextPart": "Dear {{name}},\r\nYour favorite animal is {{favoriteanimal}}." } }

    このコードには次のプロパティが含まれています。

    • TemplateName— テンプレートの名前。E メールを送信する場合に、この名前を参照します。

    • SubjectPart— メールの件名。このプロパティには、置換タグが含まれる場合があります。これらのタグは以下のフォーマットを使用します: {{tagname}}。E メールを送信するとき、各宛先の tagname に対する値を指定できます。

      前述の例には、{{name}} および {{favoriteanimal}} の 2 つのタグが含まれます。

    • HtmlPart— 電子メールの HTML 本文。このプロパティには、置換タグが含まれる場合があります。

    • TextPart— 電子メールのテキスト本文。E メールクライアントに HTML E メールが表示されない受信者には、このバージョンが表示されます。このプロパティには、置換タグが含まれる場合があります。

  2. 前の例をニーズに合わせてカスタマイズし、mytemplate.json ファイルとして保存します。

  3. コマンドラインで次のコマンドを入力して、CreateTemplate API オペレーションを使用して新しいテンプレートを作成します。

    aws ses create-template --cli-input-json file://mytemplate.json

パート 3: パーソナライズされた E メールを送信する

作成した E メールテンプレートは、E メールの送信に使用できます。テンプレートを使用して E メールを送信するのに使用できる 2 つの API オペレーションがあり、それは SendTemplatedEmail および SendBulkTemplatedEmail です。SendTemplatedEmailオペレーションは、一つへの送信先 (同じメールを受信する「To」、「CC」、「BCC」の集合) にカスタマイズされたメールを送信するのに役立ちます。SendBulkTemplatedEmail オペレーションは、単一の Amazon SES API 呼び出しで複数の宛先それぞれにユニークな E メールを送信するのに役立ちます。このセクションでは、を使用してこれらの操作の両方を使用して E メールを送信する方法の例を示します。 AWS CLI

単一の宛先にテンプレートに基づく E メールを送信する

単一の宛先に E メールを送信するには、SendTemplatedEmail オペレーションを使用できます。Destination オブジェクトにあるすべての受信者に、同じ E メールが届きます。

単一の宛先にテンプレートに基づく E メールを送信するには
  1. テキストエディタで新規ファイルを作成します。ファイルに次のコードを貼り付けます。

    { "Source":"Mary Major <mary.major@example.com>", "Template": "MyTemplate", "ConfigurationSetName": "ConfigSet", "Destination": { "ToAddresses": [ "alejandro.rosalez@example.com" ] }, "TemplateData": "{ \"name\":\"Alejandro\", \"favoriteanimal\": \"alligator\" }" }

    このコードには次のプロパティが含まれています。

    • Source – 送信者の E メールアドレス。

    • Template – E メールに対して適用するテンプレートの名前。

    • ConfigurationSetName— E メールの送信時に使用する設定セットの名前。

      注記

      レンダリング失敗イベントを Amazon SNS に発行するように設定された設定セットを使用することをお勧めします。詳細については、「パート 1: レンダリング失敗イベント通知を設定する」を参照してください。

    • Destination - 受信者のアドレス。複数の「To」、「CC」、「BCC」アドレスを含めることができます。SendTemplatedEmailオペレーションを使用した場合、すべての受信者に同じ E メールが届きます。

    • TemplateData— キーと値のペアを含むエスケープされた JSON 文字列。キーはテンプレート内の変数 ({{name}} など) に対応します。値は E メール内の変数を置き換える内容を表します。

  2. ニーズに合わせて上記の手順でコードの値を変更し、myemail.jsonとしてファイルを保存します。

  3. コマンドラインで、次のコマンドを入力して E メールを送信します。

    aws ses send-templated-email --cli-input-json file://myemail.json

複数の送信先にテンプレートに基づく E メールを送信する

SendBulkTemplatedEmail オペレーションを使用して、単一の API 呼び出しで、複数の送信先にメールを送信できます。Amazon SES は、各 Destination オブジェクトで、1 名または複数の受信者に一意の E メールを送信します。

複数の送信先にテンプレートに基づく E メールを送信するには
  1. テキストエディタで新規ファイルを作成します。ファイルに次のコードを貼り付けます。

    { "Source":"Mary Major <mary.major@example.com>", "Template":"MyTemplate", "ConfigurationSetName": "ConfigSet", "Destinations":[ { "Destination":{ "ToAddresses":[ "anaya.iyengar@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Anaya\", \"favoriteanimal\":\"angelfish\" }" }, { "Destination":{ "ToAddresses":[ "liu.jie@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Liu\", \"favoriteanimal\":\"lion\" }" }, { "Destination":{ "ToAddresses":[ "shirley.rodriguez@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Shirley\", \"favoriteanimal\":\"shark\" }" }, { "Destination":{ "ToAddresses":[ "richard.roe@example.com" ] }, "ReplacementTemplateData":"{}" } ], "DefaultTemplateData":"{ \"name\":\"friend\", \"favoriteanimal\":\"unknown\" }" }

    このコードには次のプロパティが含まれています。

    • Source – 送信者の E メールアドレス。

    • Template – E メールに対して適用するテンプレートの名前。

    • ConfigurationSetName— E メールの送信時に使用する設定セットの名前。

      注記

      レンダリング失敗イベントを Amazon SNS に発行するように設定された設定セットを使用することをお勧めします。詳細については、「パート 1: レンダリング失敗イベント通知を設定する」を参照してください。

    • Destinations – 1 つ以上の宛先が含まれている配列。

      • Destination - 受信者のアドレス。複数の「To」、「CC」、「BCC」アドレスを含めることができます。SendBulkTemplatedEmail オペレーションを使用した場合、同一のDestinationオブジェクト内のすべての受信者に同じ E メールが届きます。

      • ReplacementTemplateData— キーと値のペアを含む JSON オブジェクト。キーはテンプレート内の変数 ({{name}} など) に対応します。値は E メール内の変数を置き換える内容を表します。

    • DefaultTemplateData— キーと値のペアを含む JSON オブジェクト。キーはテンプレート内の変数 ({{name}} など) に対応します。値は E メール内の変数を置き換える内容を表します。このオブジェクトにはフォールバックデータが含まれています。 DestinationオブジェクトのReplacementTemplateDataプロパティに空の JSON オブジェクトが含まれる場合、DefaultTemplateDataプロパティの値が使用されます。

  2. 必要に応じて前の手順のコードの値を変更し、mybulkemail.jsonファイルをとして保存します。

  3. コマンドラインで、次のコマンドを入力してバルク E メールを送信します。

    aws ses send-bulk-templated-email --cli-input-json file://mybulkemail.json