【问题标题】:How to get message_id of emails sent using transmission?如何获取使用传输发送的电子邮件的 message_id?
【发布时间】:2016-08-03 02:38:50
【问题描述】:

我们正在从 Mandrill 迁移到 SparkPost。我们认为 SparkPost 的 transmission 是最接近 Mandrill 的 send-template 消息调用的东西。

Mandrill 用每封电子邮件的 id状态 列表来回复这些电话。另一方面,SparkPost 返回单个 id 和摘要统计信息(已发送的电子邮件数量和失败的电子邮件数量)。有什么方法可以让那些 ids 和 statuses 脱离传输响应或根本没有?

【问题讨论】:

    标签: sparkpost


    【解决方案1】:

    我也陷入了这个问题.. 如果替换对 rcpt_meta 有效,那么使用 rcpt_meta 解决方案将是完美的,但事实并非如此。

    因此,在发送活动的情况下,我无法指定所有内联收件人,而是必须为每条消息进行一次 API 调用,这对于 10/100k 收件人来说是不利的! 但是现在,每个 SINGLE 收件人的所有传输 ID 都是唯一的,所以我缺少密钥,不再需要 rcpt_meta。

    所以接收 webhook 时要使用的 key 组成:

    transmission_id **AND** rcpt_to
    

    【讨论】:

    • @richleland,你能确认我关于在不可行的元数据字段上使用替代的观点吗? tnx !
    • 嗨@lhenry2k - 您不能在元数据中使用替换数据。您可以在传输级别和接收者级别指定元数据。收件人级别的元数据将覆盖任何传输级别的元数据。如果我理解正确,您将希望在收件人级别指定您的唯一标识符。
    • 这是一个示例:“收件人”:[{“地址”:{“电子邮件”:“wilma@flintstone.com”,“名称”:“威尔玛弗林斯通”} , "元数据": { "myId": "wflintstone" } } ]
    【解决方案2】:

    查询消息事件 API 虽然是一个可行的选择,但会使我们的简单解决方案不必要地复杂化。另一方面,我们非常想使用 Webhooks,但不知道它们与哪个消息相关会很麻烦......

    缺少的链接是将我们自己的 id 放入 rcpt_meta。我们关心的大多数 webhook 都包含 rcpt_meta,因此我们可以用它替换 message_id

    【讨论】:

    • 是的,这是一个很棒的解决方案,我们的大量客户都在使用它。感谢分享。
    【解决方案3】:

    您可以通过以下两种方式获取使用传输 API 发送的消息的消息 ID:

    • 查询message events API,它允许您按收件人、模板 ID、活动 ID 和其他值进行过滤
    • 使用webhooks - 消息分批发送到您的端点,批处理中的每个对象都包含消息ID

    您选择哪种方法实际上取决于您的用例。它本质上是轮询(消息事件)与推送(网络挂钩)。发送传输时无法获取 ID,因为它们是异步发送的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-12
      • 2016-07-05
      • 1970-01-01
      相关资源
      最近更新 更多