如何使用 strongGrid 入站 webhook 解析附件值

How to parse attachment values with strongGrid inbound webhook

你好,我已经在 net core 3.1 中使用 strongGrid 成功设置了入站 webhook。 端点被调用,我想解析 csv 文件附件中的值。

我使用的代码如下



            var parser = new WebhookParser();
            var inboundEmail = await parser.ParseInboundEmailWebhookAsync(Request.Body).ConfigureAwait(false);

            await _emailSender.SendEmailAsyncWithSendGrid("info@mydomain.com", "ParseWebhook1", inboundEmail.Attachments.First().Data.ToString());


请注意,我正在发送电子邮件,因为我不知道如何使用 sendgrid 调试 webhook,因为我不知道任何 cli。 但这条线显然不是我要找的 inboundEmail.Attachments.First().Data.ToString() 我在我的电子邮件中收到了这个

Id = a3e6a543-2aee-4ffe-a36a-a53k95921998, Tag = HttpMultipartParser.MultipartFormDataParser.ParseStreamAsync, Length = 530 bytes

我需要解析的 csv 有 3 个字段 Sku 产品名称和数量我想获得 sku 值。

如有任何帮助,我们将不胜感激。

.Data 属性 包含流,并且在流对象上调用 ToString 不会 return 其内容。在 C# 中读取流内容的正确方法是这样的:

var streamReader = new StreamReader(inboundEmail.Attachments.First().Data);
var attachmentContent = await streamReader.ReadToEndAsync().ConfigureAwait(false);

就解析 CSV 而言,GitHub and hundreds on NuGet 上确实有数千个关键字 'CSV' 的项目。我相信其中之一会满足您的需求。