SendGrid 事件 Webhooks VB.net
SendGrid Event Webhooks VB.net
我正在使用 sendgrid WebHook,我已经在此处启用了事件通知:
https://app.sendgrid.com/settings/mail_settings
当我单击“测试您的配置”时,它会工作并向我发送一个 POST 到我配置的 URL,但我没有从默认的 POST 中获取任何数据他们在此处的文档中解释的参数:
https://sendgrid.com/docs/API_Reference/Webhooks/event.html
当我尝试将数据从我的计算机发送到服务器时,它确实注册了我在 URL...
上输入的数据
这是我的代码:
<%@ WebHandler Language="VB" Class="HandlerSendGrid" %>
Imports System
Imports System.Web
Public Class HandlerSendGrid : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim sgevent As String = If(IsNothing(context.Request.QueryString("event")), "naopossui", context.Request.QueryString("event"))
Dim email As String = If(IsNothing(context.Request.QueryString("email")), "naopossui", context.Request.QueryString("email"))
Dim response As String = If(IsNothing(context.Request.QueryString("response")), "naopossui", context.Request.QueryString("response"))
Dim sgid As String = If(IsNothing(context.Request.QueryString("sg_event_id")), "naopossui", context.Request.QueryString("sg_event_id"))
Dim bounce As String = If(IsNothing(context.Request.QueryString("bounce")), "naopossui", context.Request.QueryString("bounce"))
Dim click As String = If(IsNothing(context.Request.QueryString("click")), "naopossui", context.Request.QueryString("click"))
Dim open As String = If(IsNothing(context.Request.QueryString("open")), "naopossui", context.Request.QueryString("open"))
Dim ID As Integer = EmailDL.InsSGTeste(sgevent, email, response, sgid, bounce, click, open)
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
我正在做的是获取 URL 上的数据,然后将我收到的所有参数插入到我的数据库中,如果这些参数中没有数据,则参数将只是一个名为 "naopossui".
已经通过在 c# 中转换成 vb
的方式解决了这个问题
https://sendgrid.com/blog/tracking-email-using-azure-sendgrid-event-webhook-part-1/
我正在使用 sendgrid WebHook,我已经在此处启用了事件通知:
https://app.sendgrid.com/settings/mail_settings
当我单击“测试您的配置”时,它会工作并向我发送一个 POST 到我配置的 URL,但我没有从默认的 POST 中获取任何数据他们在此处的文档中解释的参数:
https://sendgrid.com/docs/API_Reference/Webhooks/event.html
当我尝试将数据从我的计算机发送到服务器时,它确实注册了我在 URL...
上输入的数据这是我的代码:
<%@ WebHandler Language="VB" Class="HandlerSendGrid" %>
Imports System
Imports System.Web
Public Class HandlerSendGrid : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim sgevent As String = If(IsNothing(context.Request.QueryString("event")), "naopossui", context.Request.QueryString("event"))
Dim email As String = If(IsNothing(context.Request.QueryString("email")), "naopossui", context.Request.QueryString("email"))
Dim response As String = If(IsNothing(context.Request.QueryString("response")), "naopossui", context.Request.QueryString("response"))
Dim sgid As String = If(IsNothing(context.Request.QueryString("sg_event_id")), "naopossui", context.Request.QueryString("sg_event_id"))
Dim bounce As String = If(IsNothing(context.Request.QueryString("bounce")), "naopossui", context.Request.QueryString("bounce"))
Dim click As String = If(IsNothing(context.Request.QueryString("click")), "naopossui", context.Request.QueryString("click"))
Dim open As String = If(IsNothing(context.Request.QueryString("open")), "naopossui", context.Request.QueryString("open"))
Dim ID As Integer = EmailDL.InsSGTeste(sgevent, email, response, sgid, bounce, click, open)
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
我正在做的是获取 URL 上的数据,然后将我收到的所有参数插入到我的数据库中,如果这些参数中没有数据,则参数将只是一个名为 "naopossui".
已经通过在 c# 中转换成 vb
的方式解决了这个问题https://sendgrid.com/blog/tracking-email-using-azure-sendgrid-event-webhook-part-1/