如何在SendGrid发送邮件时传递自定义X-Message-Id并从Webhook获取
实现自定义X-Message-Id并从SendGrid Webhook获取
步骤1:发送邮件时添加自定义X-Message-Id
SendGrid的.NET SDK提供了AddHeader方法用于添加自定义邮件头,你只需在创建SendGridMessage实例后调用该方法,传入X-Message-Id和自定义的唯一ID即可。修改后的完整代码如下:
var client = new SendGridClient(apiKey); var msg = new SendGridMessage() { From = new EmailAddress("test@gmail.com", "Ravi Kumar"), Subject = "Sending with Twilio SendGrid is Fun", HtmlContent = "<body><a href='http://www.sendgrid.com'>SendGrid</a></body>", }; // 添加自定义X-Message-Id,替换成你实际需要的唯一标识(比如UUID生成的字符串) msg.AddHeader("X-Message-Id", "your-custom-unique-id"); msg.AddTo(new EmailAddress("test@gmail.com", "Ravi CIPL")); // 执行邮件发送 var response = await client.SendEmailAsync(msg);
步骤2:从Webhook事件中获取自定义ID
当SendGrid触发Webhook事件(如邮件送达、打开、点击等)时,事件Payload会包含邮件的头信息集合。你可以在Webhook接收端解析请求体,从headers对象中提取X-Message-Id字段,该字段的值就是你之前设置的自定义ID。
示例Webhook Payload片段:
{ "event": "delivered", "headers": { "X-Message-Id": "your-custom-unique-id", // 其他邮件头信息... }, // 其他事件相关字段... }
内容的提问来源于stack exchange,提问作者Manoj Sharma
相关产品推荐
相关产品推荐

