C# .net核心中的SendGrid入站解析Webhook

C# .net核心中的SendGrid入站解析Webhook,c#,.net-core,sendgrid,C#,.net Core,Sendgrid,我正在尝试实现用于解析入站Sendgrid电子邮件的入站解析的代码段,但它似乎在.net core上不起作用 // POST api/inbound [HttpPost] public async Task<HttpResponseMessage> Post() { var root = HttpContext.Current.Server.MapPath("~/App_Data"); var provider = new MultipartFormDataStrea

我正在尝试实现用于解析入站Sendgrid电子邮件的入站解析的代码段,但它似乎在.net core上不起作用

// POST api/inbound
[HttpPost]
public async Task<HttpResponseMessage> Post()
{
    var root = HttpContext.Current.Server.MapPath("~/App_Data");
    var provider = new MultipartFormDataStreamProvider(root);
    await Request.Content.ReadAsMultipartAsync(provider);

    var email = new Email
    {
        Dkim = provider.FormData.GetValues("dkim").FirstOrDefault(),
        To = provider.FormData.GetValues("to").FirstOrDefault(),
        Html = provider.FormData.GetValues("html").FirstOrDefault(),
        From = provider.FormData.GetValues("from").FirstOrDefault(),
        Text = provider.FormData.GetValues("text").FirstOrDefault(),
        SenderIp = provider.FormData.GetValues("sender_ip").FirstOrDefault(),
        Envelope = provider.FormData.GetValues("envelope").FirstOrDefault(),
        Attachments = int.Parse(provider.FormData.GetValues("attachments").FirstOrDefault()),
        Subject = provider.FormData.GetValues("subject").FirstOrDefault(),
        Charsets = provider.FormData.GetValues("charsets").FirstOrDefault(),
        Spf = provider.FormData.GetValues("spf").FirstOrDefault()
    };

    // The email is now stored in the email variable

    return new HttpResponseMessage(HttpStatusCode.OK);
}
//发布api/入站
[HttpPost]
公共异步任务Post()
{
var root=HttpContext.Current.Server.MapPath(“~/App_Data”);
var provider=新的MultipartFormDataStreamProvider(根);
wait Request.Content.ReadAsMultipartAsync(提供程序);
var email=新电子邮件
{
Dkim=provider.FormData.GetValues(“Dkim”).FirstOrDefault(),
To=provider.FormData.GetValues(“To”).FirstOrDefault(),
Html=provider.FormData.GetValues(“Html”).FirstOrDefault(),
From=provider.FormData.GetValues(“From”).FirstOrDefault(),
Text=provider.FormData.GetValues(“Text”).FirstOrDefault(),
SenderIp=provider.FormData.GetValues(“发送方ip”).FirstOrDefault(),
Envelope=provider.FormData.GetValues(“信封”).FirstOrDefault(),
Attachments=int.Parse(provider.FormData.GetValues(“附件”).FirstOrDefault()),
Subject=provider.FormData.GetValues(“Subject”).FirstOrDefault(),
Charsets=provider.FormData.GetValues(“Charsets”).FirstOrDefault(),
Spf=provider.FormData.GetValues(“Spf”).FirstOrDefault()
};
//电子邮件现在存储在电子邮件变量中
返回新的HttpResponseMessage(HttpStatusCode.OK);
}

任何帮助都将不胜感激

这是我在.net core中解析入站SendGrid电子邮件的方式

鉴于以下环境:

  • Azure功能3
  • .NET核心3.1
  • StrongGrid 0.70(通过nuget)源()
代码:

公共静态异步任务运行([HttpTrigger(AuthorizationLevel.Function,“get”,“post”,Route=null)]HttpRequest请求,ILogger日志)
{
var parser=new WebhookParser();
var inboundMail=await parser.ParseInboundEmailWebhookAsync(req.Body);
内部邮件、主题等
...

上面的代码在.NET Framework中工作,我看到了另一个示例,但在.NET core上没有任何功能。
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log)
{

var parser = new WebhookParser();
var inboundMail = await parser.ParseInboundEmailWebhookAsync(req.Body);

inboundMail.Subject etc
...