如何在托管ISP上获取请求?

时间:2016-04-30 12:57:34

标签: c# asp.net mailgun

这个问题似乎相当模糊,但这可能是因为我不太了解我需要做什么或如何去做。

Mailgun可以让用户获得使用它和Webhooks发送的电子邮件的响应。

help.mailgun.com : How do webhooks work?

我真的不明白如何让它发挥作用。

我有一个托管的ISP,我们正在发送电子邮件。

显然,我不想在从网络表单发送消息后立即尝试获得响应,因为响应可能会在几天后发生。

这需要是服务器安装的组件吗?如果是这样,我是否需要通过ISP的控制面板安装组件,还是可以编写从Visual Studio运行时安装它的东西?

我正在做的事情可能有另一个名字。就像现在一样,我似乎无法找到任何结果。

本网站不使用MVC。也许有一天。

1 个答案:

答案 0 :(得分:2)

根据文档,有两种方法可以从Mailgun获得反馈:
https://documentation.mailgun.com/user_manual.html#tracking-messages

  1. 您可以通过定期发送请求api.mailgun.net询问Mailgun是否发生了某些事情。请参阅此处的示例代码(从"代码示例首选项"顶部的菜单中选择C#):https://documentation.mailgun.com/user_manual.html#events
    要使用代码示例,您需要在项目中包含RestSharp(例如,通过NuGet)。您也可以稍微更改一下代码并使用.NET内置的WebClient代替。
  2. 您还可以使用 webhooks 告诉Mailgun在发生任何事情时通知您的网站。在这里,您需要创建一个单独的页面(.aspx / .ashx),并在Mailgun控制面板中注册页面的URL。然后该页面将不时收到您的代码需要解析的POST请求 https://documentation.mailgun.com/user_manual.html#webhooks
  3. 修改

    以下是Mailgun webhook的示例,其中有人创建了页面www.YOURDOMAINHERE.com/ sms.aspx https://stackoverflow.com/a/8489098/1869660

    可以在Request.Params

    中找到从Mailgun发送的数据

    要确保ValidateRequest="false"在示例中有用,请查看以下问题:ValidateRequest="false" doesn't work in Asp.Net 4