在Amazon SES中,我们可以使用SES API创建邮件模板。邮件模板可以使用动态内容进行定制,例如收件人的姓名、位置或最近的购买历史记录。
我们将在Amazon Simple Email Service (SES)中创建电子邮件模板,并使用动态内容对其进行个性化设置。通过使用电子邮件模板,我们可以节省时间和精力,创建一个可用于多个电子邮件的单一模板,同时还可以确保所有电子邮件在品牌形象上的一致性。
分为三个部分:
此功能只能使用 Amazon SES API 完成,而不能在 Amazon SES 控制台中完成。
现在,我们将使用 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
运行以下命令,并用我们实际的发件人和收件人电子邮件地址替换”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)的名称。
在收件人的收件箱中收到如下所示的邮件:
我们将深入探讨如何使用我们创建的电子邮件模板向多个收件人一次发送个性化电子邮件。这将帮助我们扩大电子邮件营销工作,并提高更广泛受众的参与度。使用模板发送批量电子邮件可以节省时间和精力,同时确保所有电子邮件通信在品牌形象上的一致性。
要发送批量电子邮件,我们首先需要准备包含收件人信息和模板的数据。创建一个名为 “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
此命令将个性化的电子邮件模板发送给 bulk_email_data.json
文件中指定的所有收件人。
参考 https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html