创建邮件模板

在Amazon SES中,我们可以使用SES API创建邮件模板。邮件模板可以使用动态内容进行定制,例如收件人的姓名、位置或最近的购买历史记录。

我们将在Amazon Simple Email Service (SES)中创建电子邮件模板,并使用动态内容对其进行个性化设置。通过使用电子邮件模板,我们可以节省时间和精力,创建一个可用于多个电子邮件的单一模板,同时还可以确保所有电子邮件在品牌形象上的一致性。

分为三个部分:

  1. 创建电子邮件模板: 在Amazon SES中创建电子邮件模板,包括使用API创建模板。
  2. 使用动态内容个性化电子邮件模板: 使用动态内容(如收件人姓名、位置或其他属性)来个性化电子邮件模板。
  3. 使用模板发送批量电子邮件: 使用模板发送批量电子邮件,以确保我们的电子邮件通信对多个用户运行正常。

此功能只能使用 Amazon SES API 完成,而不能在 Amazon SES 控制台中完成。

使用 AWS CLI 创建电子邮件模板

现在,我们将使用 AWS CLI 在 SES 中创建一个新的邮件模板。

创建 awesome_newsletter_template.yaml 文件,内容如下:

TemplateName: AWSomeNewsletterTemplate
TemplateContent:
  Subject: AWSomeNewsletter Monthly Digest
  Html: |
    <!DOCTYPE html>
    <html>
      <head>
        <title>AWSomeNewsletter</title>
        <style>
          body {
            font-family: Arial, sans-serif;
          }
          h1 {
            color: #3e3e3e;
          }
          p {
            font-size: 14px;
          }
          .footer {
            font-size: 12px;
            color: #999999;
          }
        </style>
      </head>
      <body>
        <div style="max-width: 600px; margin: auto;">
          <h1>AWSomeNewsletter: Your Monthly Digest</h1>
          <p>Hello {{name}},</p>
          <p>
            Here's a roundup of the latest news and articles in the
            {{interest_area}}:
          </p>
          <ul>
            <li><a href="#">Article 1: Exciting News in {{interest_area}}</a></li>
            <li><a href="#">Article 2: Developments You Should Know About</a></li>
            <li><a href="#">Article 3: What Experts Are Saying</a></li>
          </ul>
          <p>Stay tuned for more updates next month!</p>
          <p class="footer">
            If you no longer wish to receive these emails, please
            <a href="{{amazonSESUnsubscribeUrl}}">unsubscribe</a>.
          </p>
        </div>
      </body>
    </html>

  • 使用{{}}符号来指示SES需要替换变量的位置。我们已经在模板中添加了{{name}}{{interest_area}}替换标记。{{}}也可用于添加Amazon SES内置订阅管理功能的取消订阅链接

运行以下命令,使用 YAML 文件在 SES 中创建邮件模板:

aws sesv2 create-email-template --cli-input-yaml file://awesome_newsletter_template.yaml

现在我们已经成功 AWS CLI 创建了一个邮件模板。在下一节中,我们将使用动态内容个性化此模板。

要使用 AWS CLI 查看已创建的邮件模板,请运行以下命令:

aws sesv2 get-email-template --template-name AWSomeNewsletterTemplate

image-20240721192611584

发送个性化邮件

运行以下命令,并用我们实际的发件人和收件人电子邮件地址替换”sender@example.com “和”recipient@example.com “占位符:

aws sesv2 send-email \
  --from-email-address "sender@example.com" \
  --destination '{"ToAddresses":["recipient@example.com"]}' \
  --content '{"Template": {"TemplateName": "AWSomeNewsletterTemplate", "TemplateData": "{\"name\": \"John Doe\", \"interest_area\": \"Technology\"}"}}' \
  --list-management-options '{"ContactListName": "AWSomeNewsletterContactList"}'

我们在命令的Content.Template.TemplateData属性中传递模板数据。另请注意,为了使取消订阅链接正常工作,我们需要将ListManagementOption传递到调用中。将MyContactList替换为我们在上节中创建的联系人列表(例如AWSomeNewsletterContactList)的名称。

image-20240721193323282

在收件人的收件箱中收到如下所示的邮件: image-20240721193419764

使用模板批量发送电子邮件

我们将深入探讨如何使用我们创建的电子邮件模板向多个收件人一次发送个性化电子邮件。这将帮助我们扩大电子邮件营销工作,并提高更广泛受众的参与度。使用模板发送批量电子邮件可以节省时间和精力,同时确保所有电子邮件通信在品牌形象上的一致性。

准备批量邮件数据

要发送批量电子邮件,我们首先需要准备包含收件人信息和模板的数据。创建一个名为 “bulk_email_data.json” 的 JSON 文件,其中包含以下示例数据:

{
  "FromEmailAddress": "sender@example.com",
  "DefaultContent": {
    "Template": {
      "TemplateName": "AWSomeNewsletterTemplate",
      "TemplateData": "{\"name\": \"Subscriber\", \"interest_area\": \"Technology\",\"amazonSESUnsubscribeUrl\": \"https://example-unsubscribe.com\"}"
    }
  },
  "BulkEmailEntries": [
    {
      "Destination": {
        "ToAddresses": ["recipient1@example.com"]
      },
      "ReplacementEmailContent": {
        "ReplacementTemplate": {
          "ReplacementTemplateData": "{\"name\": \"John Doe\", \"interest_area\": \"Technology\",\"amazonSESUnsubscribeUrl\": \"https://example-unsubscribe.com\"}"
        }
      }
    },
    {
      "Destination": {
        "ToAddresses": ["recipient2@example.com"]
      },
      "ReplacementEmailContent": {
        "ReplacementTemplate": {
          "ReplacementTemplateData": "{\"name\": \"Jane Smith\", \"interest_area\": \"Health\",\"amazonSESUnsubscribeUrl\": \"https://example-unsubscribe.com\"}"
        }
      }
    }
  ]
}

请用实际的收件人邮件地址和信息替换邮件地址和其他详细信息。

由于Contact List尚不支持使 SES 批量模板化电子邮件的调用,因此必须在外部管理,并动态填充 amazonSESUnsubscribeUrl 变量的 URL。

使用邮件模板发送批量电子邮件

要使用在前面实验中创建的 “AWSomeNewsletterTemplate” 发送批量电子邮件,请使用以下 AWS CLI 命令:

aws sesv2 send-bulk-email --cli-input-json file://bulk_email_data.json --region us-east-1

image-20240721194004831

此命令将个性化的电子邮件模板发送给 bulk_email_data.json 文件中指定的所有收件人。

参考 https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html