【问题标题】:Single SNS notification for multiple recipients多个收件人的单一 SNS 通知
【发布时间】:2017-06-22 20:48:15
【问题描述】:

我试图了解 SNS 将如何为多个收件人传输单个通知。 Amazon SES 文档状态:

对于给定的通知类型,您可能会收到一个 Amazon SNS 多个收件人的通知,或者您可能会收到一个 每个收件人的 Amazon SNS 通知。

但没有举例。

让我们以简短的交货通知为例:

{
  "Message": {
    "notificationType":"Delivery",
    "mail":{
      "timestamp":"2017-06-22T17:15:53.980Z",
      "messageId":"123",
      "destination":["john@example.com"],
      },
    "delivery":{
      "timestamp":"2017-06-22T17:15:54.873Z", 
      "recipients":["john@example.com"],
    },
  }, 
  "Type": "Notification"
}

亚马逊如何在一个通知中为多个收件人提供信息? JSON 对象的结构似乎特定于单个事件,并且似乎不适用于提供有关多个收件人的信息。例如,只有一个“交付”和一个“时间戳”。你怎么能向两个人报告送货?

退回和投诉通知似乎也不适合为多个收件人提供信息。

【问题讨论】:

    标签: amazon-sns amazon-ses


    【解决方案1】:

    JSON 对象的结构似乎特定于单个事件

    没错。这只发生在多个收件人参与单个事件时。

    在一个通知(带有一个时间戳)中逻辑上可以有多个收件人的唯一方法是,如果他们的邮箱由同一个邮件交换器 (MX) 处理。

    对 SMTP 的有线协议的低层次理解可以更清楚地说明这一点。对于每个 SMTP 事务,SMTP 协议要求发送服务器首先识别发件人,然后是一个或多个收件人,然后传输消息负载。当 SES 将单个消息传递给其电子邮件地址映射到同一 MX 的多个收件人时,它可能会选择通过在单个事务中指定多个收件人来避免重复传输完全相同的数据......在这种情况下,多个收件人会所有人都同时收到了消息。

    反弹也是如此。如果两个收件人都被目标服务器拒绝,则会同时发生退回事件。

    抱怨不同,但想法是一样的。如果目标系统推迟单个用户的投诉并将它们一起推回 SES,那么这应该是多个接收者的可能情况。这个似乎不太可能。

    但是,如果您将单条消息发送到 gmail 地址和 hotmail 地址,则永远不会发生这种情况,因为这些目的地没有共同的基础设施。

    当然,数据结构可以容纳多个收件人,destinationrecipients 都是数组。

    【讨论】:

    • 谢谢,很好的解释。由于我一次只向一位收件人发送电子邮件,因此我的通知将始终与一位收件人相关。
    猜你喜欢
    • 2016-09-07
    • 2018-05-15
    • 2018-08-30
    • 1970-01-01
    • 2021-04-19
    • 2020-03-20
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多