C# .net核心中的SendGrid入站解析Webhook
我正在尝试实现用于解析入站Sendgrid电子邮件的入站解析的代码段,但它似乎在.net core上不起作用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
// 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
...