为什么我无法收到来自我的 Amazon SNS 主题的电子邮件通知?

1 分钟阅读
0

我没有收到来自我的 Amazon Simple Notification Service(Amazon SNS)主题的电子邮件通知。

解决方法

验证您的电子邮件端点是否处于已确认状态

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

使用 AWS 管理控制台或 AWS CLI 来验证您的电子邮件端点的状态。

AWS 管理控制台

  1. 打开 Amazon SNS 控制台
  2. 在导航窗格上,选择主题,然后选择您的主题。
  3. 在主题页面的订阅部分中,在端点列中找到您的电子邮件端点。
  4. 在订阅的状态列中,确认状态为已确认。成功订阅电子邮件端点后,状态即得到确认。
  5. 在 Amazon SNS 控制台中手动确认订阅。如果您无法收到确认电子邮件,请完成以下部分中的步骤。
  6. 要重新请求确认电子邮件,请使用您的端点选择订阅,然后选择请求确认

AWS CLI

运行 list-subscriptions-by-topic AWS CLI 命令。

注意:如果端点列中没有电子邮件端点,则该端点已被删除。

检查电子邮件地址是否可以接收来自外部联系人的电子邮件

要检查问题是否仅限于 Amazon SNS,请将外部提供商的测试电子邮件发送到您的目标电子邮件地址。这可以帮助您评估允许来自外部来源的流量类型。组织内的邮箱通常仅限于内部流量。

如果邮箱正常运行且没有问题,则完成检查防火墙、垃圾邮件筛选器、阻止程序或筛选策略部分中的步骤。

检查防火墙、垃圾邮件筛选器、阻止程序或筛选策略

完成以下故障排除步骤:

  1. 请咨询电子邮件管理员,查看 no-reply@sns.amazonaws.com 地址是否被防火墙或垃圾邮件筛选器筛选掉。
    **提示:最佳做法是将 no-reply@sns.amazonaws.com 地址添加到您的邮箱允许列表中。有关详细信息,请参阅问题: 订阅者是否需要专门配置其电子邮件设置才能接收来自 Amazon SNS 的通知?**条目(位于 Amazon SNS 常见问题解答中)。
  2. 如果您的电子邮件仍被筛选为垃圾邮件,请查看邮箱规则中是否存在阻止您的 SNS 主题电子邮件的明确拒绝。您还可以检查电子邮件是否已路由到邮箱中的特定文件夹。
  3. 要防止个人取消订阅您的 SNS 主题电子邮件的所有收件人,请设置身份验证以取消订阅
    **注意:**您必须具有所需的权限才能取消订阅您的电子邮件终端节点。您可以在 Amazon SNS 控制台中或使用 AWS CLI 向经过身份验证的用户确认订阅。

查看订阅的筛选策略

  1. 打开 Amazon SNS 控制台
  2. 在导航窗格中,选择订阅
  3. 在搜索框中,输入电子邮件端点订阅的电子邮件地址或 SNS 主题,然后在结果中选择您的订阅。
  4. 对于您的电子邮件端点,选择订阅筛选策略选项卡,然后在订阅筛选策略部分中查找有关订阅的筛选策略。

**注意:**向端点发送消息时,Amazon SNS 会将消息属性与筛选策略中的属性进行比较。如果消息属性和筛选策略属性不一致,则不会在电子邮件端点上接收消息。

确认您没有使用默认 AWS KMS 密钥设置

Amazon SNS 允许对主题进行静态加密。如果使用默认 AWS Key Management Service(AWS KMS)密钥进行加密,则服务(例如 Amazon CloudWatch)无法向 SNS 主题发布消息。Amazon SNS 的默认 AWS KMS 密钥的密钥策略不允许这些服务执行 kms:Decryptkms:GenerateDataKey API 调用。由于此密钥由 AWS 托管,因此您无法手动编辑策略。

如果您要加密您的 Amazon SNS 主题,请使用客户自主管理型密钥。客户自主管理型密钥必须包含密钥策略“语句”部分下方的以下权限:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "service.amazonaws.com"
      },
      "Action": [
        "kms:GenerateDataKey*",
        "kms:Decrypt"
      ],
      "Resource": "*"
    }
  ]
}

这些权限允许服务向加密的 SNS 主题发布消息。

AWS 官方
AWS 官方已更新 1 年前