此功能只能使用 Amazon SES API ,不能在 Amazon SES 控制台中完成。
订阅者有不同的兴趣爱好,有些人可能不想收到所有主题的更新。为了向受众提供个性化体验并遵守电子邮件营销最佳实践, Amazon Simple Email Service (SES) 支持实现订阅管理。
要为我们的电子邮件启用订阅管理,我们需要在 SendEmail 操作请求中包含 ListManagementOptions 标头。此标头指定Contact List和主题名称,Amazon SES 使用这些信息在我们的电子邮件中启用退订链接。
运行以下 AWS CLI 命令发送电子邮件:
aws sesv2 send-email \
--from-email-address sender@example.com \
--destination '{"ToAddresses":["recipient@example.com"]}' \
--content '{"Simple":{"Subject":{"Data":"Test email"},"Body":{"Text":{"Data":"This is a test email"},"Html":{"Data":"<html><body><p>This is a test email</p></body></html>"}}}}' \
--list-management-options '{"ContactListName":"MyContactList", "TopicName":"MyTopic"}'
在 ListManagementOptions
部分,将 MyContactList
替换为我们在上节创建的Contact List名称(例如 AWSomeNewsletterContactList),将 TopicName
替换为上节创建的主题名称。
我们应该会收到一封测试电子邮件,目前只是一个简单的 HTML。
要允许收件人退订我们的电子邮件,我们需要在电子邮件中包含退订页脚链接。我们可以使用 {{amazonSESUnsubscribeUrl}}
占位符在我们的电子邮件中添加退订 URL。
修改 AWS CLI --content
属性以包含占位符:
aws sesv2 send-email \
--from-email-address sender@example.com \
--destination '{"ToAddresses":["recipient@example.com"]}' \
--content '{"Simple":{"Subject":{"Data":"Test email"},"Body":{"Text":{"Data":"This is a test email.\n\nTo unsubscribe, click {{amazonSESUnsubscribeUrl}}."},"Html":{"Data":"<html><body><p>This is a test email.</p><p>To unsubscribe, click <a href=\"{{amazonSESUnsubscribeUrl}}\">here</a>.</p></body></html>"}}}}' \
--list-management-options '{"ContactListName":"MyContactList", "TopicName":"MyTopic"}'
同样,在 ListManagementOptions
部分,将 MyContactList
替换为我们在上节创建的Contact List名称(例如 AWSomeNewsletterContactList),将 TopicName
替换为上节创建的主题名称。
现在,检查我们的电子邮件并点击 Amazon SES 生成的退订链接。
我们会被重定向到一个类似于下面的页面:
假如我们只选择前三个,退订最后一个,然后提交:
查看contact list:
aws sesv2 list-contacts --contact-list-name "AWSomeNewsletterContactList" --page-size 10 --region us-east-1 | jq
已经成功更新:
订阅管理是一个强大的工具,可以自动管理我们的电子邮件列表订阅。通过使用 ListManagementOptions 标头和 {{amazonSESUnsubscribeUrl}}
占位符,我们可以在我们的电子邮件中启用退订链接,并让收件人能够管理他们的电子邮件偏好。