如何将sendgrid webhook sg_message_id关联到已发送的邮件?

问题描述 投票:0回答:3

Sendgrid webhook 有

sg_message_id
但是Web API v2在发送邮件时的响应没有
sg_message_id
。 事实上,只有一条消息显示仅
success
或失败。

那么,如何关联发送的邮件和 webhook 回调呢?

我已经检查了SO中过去的问题,但它没有提供解决方案。

谢谢你。

webhooks sendgrid
3个回答
38
投票

您可以使用独特的参数。获取您的唯一 ID(如主键)并在发送电子邮件期间将其提供给 sendgrid API。您将在事件 webhook 中取回它。

https://docs.sendgrid.com/for-developers/sending-email/unique-arguments

当您想通过 SMTP 使用“唯一参数”时,您应该可以使用

X-SMTPAPI
消息标头来实现。

https://docs.sendgrid.com/for-developers/sending-email/building-an-x-smtpapi-header


23
投票

编辑:最佳实践似乎是使用自定义参数(请参阅文档)。从文档中看不出来(截至今天)。


在 Web API v3 中,响应包含一个特殊标头

X-Message-Id
(请参阅 https://sendgrid.com/docs/Glossary/x_message_id.html)。

这可以稍后与 webhook 中的

sg_message_id
匹配:https://sendgrid.com/docs/Glossary/message_id.html

文档没有说清楚,但是

X-Message-Id
头实际上不等于
sg_message_id
,而是
sg_message_id
的前缀。

例如:

  • X-Message-Id  = "MUvGg3V1ThOu3oe8eRqFrA"
  • sg_message_id = "MUvGg3V1ThOu3oe8eRqFrA.filter0001p2iad2-21183-5AF0BD9B-E.0"

1
投票

发送电子邮件的 Web APIv2 调用确实仅响应 {message :"success"} 答案,但此时并未生成 sg_message_id。 API 调用应答只是确认电子邮件已发送到 SendGrid 进行处理。

电子邮件被发送到 SendGrid,并在那里接收通过事件 Webhook 帖子提供的 sg_message_id 值。

© www.soinside.com 2019 - 2024. All rights reserved.