C# 中的 SendGrid CORS 响应

SendGrid CORS Response in C#

我正在尝试为电子邮件实施 SendGrid,但我 运行 遇到了一些问题。我找到了 c# 示例 here 并基于此设置了一个快速桌面示例。我创建了一个 WPF 应用程序并将其放入按钮处理程序中:

    async void BtnSend_Click(object sender, RoutedEventArgs e)
    {
        var apikey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY");
        var client = new SendGridClient(apikey);

        var from = new EmailAddress("<<my email>>", "me");
        var to = new EmailAddress("<<test receiver email>>", "you");

        var msg = new SendGridMessage();
        msg.SetFrom(from);
        msg.AddTo(to);
        msg.SetTemplateId("<<my template id>>");

        var response = await client.SendEmailAsync(msg);

        MessageBox.Show($"Status: {response.StatusCode}\n\nHeaders:\n{response.Headers}");
    }

然而,当我点击按钮时,我得到了这个:

我确实去了那个 header 上的 url 并在其他地方找到了它 here。然而,link 谈论的是基于浏览器的浏览器,而这不是,而且它说要使用我正在使用的库之一(我正在使用 c# NuGet 包)。

我做错了什么?我最终会把它放在我的 AWS lambda API 中的 Web 服务器上,所以我想如果我必须这样做进行测试我可以,但我希望在桌面上进行一些测试和设置以便在我将其移至服务器...

如果在启动后设置了环境变量Visual Studio,需要重启VS。 VS 使用 VS 自身启动时的环境变量集启动应用程序。如果您在 VS 启动后设置变量,则 VS 没有它,因此您的应用程序也没有。