如何防止邮件列表收件人取消订阅我的 Amazon SNS 主题电子邮件?

1 分钟阅读
0

我订阅了 Amazon Simple Notification Service (Amazon SNS) 主题的邮件列表的电子邮件地址。然后,邮件列表中的一名成员以及列表中的所有人取消订阅了邮件列表的电子邮件地址。

概述

您向具有电子邮件订阅者的 Amazon SNS 主题发布消息时,订阅者收到的电子邮件包含取消订阅的链接。链接旁有一条消息写道: “如果您希望停止接收来自此主题的通知,请单击或访问以下链接取消订阅。”

您使用电子邮件地址订阅 Amazon SNS 主题时,选择该链接会取消订阅您的电子邮件。当 Amazon SNS 主题邮件列表的成员选择取消订阅链接时,取消订阅邮件列表的电子邮件地址。然后,邮件列表中的每个人都会收到 “取消订阅确认” 消息。

**注意:**电子邮件垃圾邮件过滤器可以取消订阅邮件列表的电子邮件地址。

要防止取消订阅操作,请创建需要身份验证才能取消的订阅。这样,只有主题所有者和订阅所有者才能取消订阅。选择该链接的所有其他订阅者都会收到以下错误:

订阅未删除 由于出错,您未能取消订阅。如果您想取消订阅但没有 AWS 证书,或者对 Amazon SNS 有任何其他问题,请通过 sns-question@amazon.com 联系 Amazon。

解决方法

要将现有订阅替换为需要身份验证的订阅,请删除现有订阅。然后,使用以下任一方法来设置新订阅。

**重要信息:**您必须具有订阅确认电子邮件的访问权限才能确认新的订阅并完成设置。如果您要订阅主题的邮件列表,请先将您的电子邮件地址添加到邮件列表确认订阅。

设置需要身份验证才能取消的电子邮件订阅(Amazon SNS 控制台)

1.    打开 Amazon SNS 控制台,然后将您的电子邮件地址订阅到您的主题

2.    在您的电子邮件中,找到 AWS 通知中的订阅确认消息。发件人通常是 “no-reply@sns.amazonaws.com”。

**重要信息:**不要使用订阅确认电子邮件中的链接来确认订阅。

3.    从确认订阅 链接中复制 URL。

4.    在控制台的导航窗格中,选择订阅

5.    在订阅 页面上,选择 “待确认” 的订阅,然后选择确认订阅

6.    在确认订阅对话框中,粘贴您复制的订阅确认 URL。

7.    选择确认订阅

设置需要身份验证才能取消的电子邮件订阅 (AWS CLI)

**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

1.    在 AWS CLI 中运行以下命令:

aws sns list-topics --region us-east-1

重要信息:region us-east-1 替换为与您的主题对应的正确 AWS 区域。

2.    在输出中,复制您要订阅的主题 **topicArn ** 值。ARN 主题看起来与这个示例类似:arn:aws:sns:us-east-1:0123456789012:my-topic

3.    运行以下命令:

aws sns subscribe --topic-arn arn:aws:sns:us-east-1:0123456789012:my-topic --protocol email --notification-endpoint test@amazon.com --region us-east-1

重要信息:topic-arn 替换为您复制的主题 ARN。将通知端点替换为您要订阅主题的电子邮件地址。将区域替换为主题的区域。

4.    在您的电子邮件中,找到 AWS 通知中的订阅确认消息。发件人通常是 “no-reply@sns.amazonaws.com”。

**重要信息:**不要使用订阅确认电子邮件中的链接来确认订阅。

5.    从确认订阅 链接复制 URL,将 URL 粘贴到文本编辑器中,然后复制令牌。令牌是一长串数字和字母,位于 URL 中间 “token=” 之后和 “&Endpoint=” 之前。看起来类似于这个例子:

https://sns.us-east-1.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:us-east-1:123456789012:my-topic&Token=2336412f37fb687f5d51e6e241da92fcfd03593fd8dfa4bd75978a2ad7255afb88e71028f6a034d06f469f6c7ef2 0a609348542a0c68a9561c03a39d59beb02e2b7112c45f7ae26c344819b39cf07f15bef6c6c09766f9caa1fa55c236e7 7c33a50870bc027c74640ff64a7e99a67117&Endpoint=test@amazon.com

6.    运行以下命令:

aws sns confirm-subscription --token 2336412f37fb687f5d51e6e241da92fcfd03593fd8dfa4bd75978a2ad7255afb88e71028f6a034d06f469f6c7ef20a609348542a0c68a9561c03a39d59beb02e2b7112c45f7ae26c344819b39cf07f15bef6c6c09766f9caa1fa55c236e77c33a50870bc027c74640ff64a7e99a67117 --topic-arn arn:aws:sns:us-east-1:0123456789012:my-topic --authenticate-on-unsubscribe true --region us-east-1

重要信息:用您复制的令牌替换令牌。将 topic-arn 替换为您复制的主题 ARN。将区域替换为您的主题区域。

相关信息

Amazon SNS 入门

订阅(AWS CLI 命令参考)

确认订阅(AWS CLI 命令参考)

AWS 官方
AWS 官方已更新 10 个月前