此功能只能使用 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}} 占位符,我们可以在我们的电子邮件中启用退订链接,并让收件人能够管理他们的电子邮件偏好。