SES のインラインテンプレートで動的パラメータは利用できますか

SES のインラインテンプレートで動的パラメータは利用できますか

2025.11.13

困っていた内容

SES のインラインテンプレートで、変数を使った動的パラメータ設定はできますか?
送信時のメール内容を動的に変えたいと考えています。

また、ストアドテンプレートとインラインテンプレートで違いはありますか?

どう対応すればいいの?

ストアドテンプレート、インラインテンプレートのどちらも、TemplateData パラメータ(JSON 形式)で動的な値を指定できます。

以下は、公式ドキュメントに記載されているインラインテンプレートでの定義サンプルコードです。
{{name}}{{favoriteanimal}} がプレースホルダー(変数)となっており、TemplateData で指定した JSON の値に置き換えられます。

{
  "FromEmailAddress": "Mary Major <[email protected]>",
  "Destination": {
    "ToAddresses": ["[email protected]", "[email protected]"]
  },
  "Content": {
    "Template": {
      "TemplateContent": {
        "Subject": "Greetings, {{name}}!",
        "Text": "Dear {{name}},\r\nYour favorite animal is {{favoriteanimal}}.",
        "Html": "<h1>Hello {{name}},</h1><p>Your favorite animal is {{favoriteanimal}}.</p>"
      },
      "TemplateData": "{ \"name\":\"Alejandro\", \"favoriteanimal\": \"alligator\" }"
    }
  },
  "ConfigurationSetName": "ConfigSet"
}

使い分けの基準としては、テンプレート管理の観点から SES 側で一元管理したい場合は「ストアドテンプレート」、アプリケーション側でテンプレートを管理したい場合や、アプリケーション利用ユーザーがテンプレートを入力するケースでは、「インラインテンプレート」が適しています。

また制約事項として、テンプレートの容量制約があるため 500 KB 以内に収まる場合は「ストアドテンプレート」、500 KB を超える場合、または数量制限(リージョンあたり 20,000 個)が懸念される場合は、「インラインテンプレート」をご検討ください。

なお、ご参考までに、テンプレート機能は Amazon SES API でのみ使用可能です。
ストアドテンプレート・インラインテンプレート共に、SMTP インターフェースではご使用いただけませんので、API での実装が必要な点をご注意ください。

参考情報

https://dev.classmethod.jp/articles/ses-inline-template/

https://docs.aws.amazon.com/ja_jp/ses/latest/dg/send-personalized-email-api.html

この記事をシェアする

FacebookHatena blogX

関連記事