【问题标题】:SendGrid incoming mail webhook - how to save the JSON format email data into my application folder in C#SendGrid 传入邮件 webhook - 如何在 C# 中将 JSON 格式的电子邮件数据保存到我的应用程序文件夹中
【发布时间】:2015-07-17 10:57:02
【问题描述】:

这是关于 Sendgrid 传入邮件 webhook,我已经引用了这个 URL SendGrid incoming mail webhook - how do I secure my endpoint,并且知道如何去做,但是,由于我是 MVC / WebAPI 的新手,谁能给我控制器方法代码 sn -p 捕获 JSON 格式的 HTTP 帖子并保存到我的应用程序文件夹。

【问题讨论】:

  • C# 和 Inbound Parse Webhook 所需的所有示例都可以在 SendGrid 文档中找到:sendgrid.com/docs/Integrate/Code_Examples/Webhook_Examples/…
  • 我已经参考了这个文档,这里的帮助提供了如何解析入站电子邮件,但我需要有关在此之前的步骤的帮助,以捕获从 sendgrid 中发送的 JSON 格式的电子邮件 (HTTPRequest) webapi 控制器,一旦我有了那个 sn-p,我就可以继续前面提到的帮助链接。谢谢。

标签: email c#-4.0 sendgrid


【解决方案1】:

这是我在谷歌上搜索并稍作修改后找到的解决方案:

[HttpPost, HttpGet]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public async Task Post()
{
    if (Request.Content.IsMimeMultipartContent("form-data"))
        try
        {
            //To get complete post in a string use the below line, not used here
            string strCompletePost = await Request.Content.ReadAsStringAsync();

            HttpContext context = HttpContext.Current;
            string strFrom = context.Request.Form.GetValues("from")[0];
            string strEmailText = context.Request.Form.GetValues("email")[0];
            string strSubject = context.Request.Form.GetValues("subject")[0];

            //Not useful I guess, because it always return sendgrid IP
            string strSenderIP = context.Request.Form.GetValues("sender_ip")[0];
        }
        catch (Exception ex)
        {

        }
}

我试过了,将值检索为

String to = context.Request.Params["to"];

但是,返回的值并不一致,即大多数时候它返回null,偶尔返回存储在其中的实际值。

如果有人有更好的解决方案,请告诉我。

谢谢

【讨论】:

    【解决方案2】:

    如果由于某种原因 ["to"] 对您不起作用,请尝试获取 ["envelope"] 值,

    context.Request.Form.GetValues("envelope")[0]
    

    看起来像

    {"to":["emailto@example.com"],"from":"emailfrom@example.com"}
    

    【讨论】:

      猜你喜欢
      • 2014-01-18
      • 2023-01-12
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多