C# 中的 SendGrid CORS 响应

问题描述 投票:0回答:2

我正在尝试为电子邮件实施 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}");
    }

但是,当我单击按钮时,我得到:

我确实访问了该标题上的网址,并在其他地方找到了它这里。然而,该链接谈论的是基于浏览器的,而这不是,而且它说使用我所在的库之一(我正在使用 c# NuGet 包)。

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

c# .net sendgrid sendgrid-api-v3
2个回答
1
投票

如果启动Visual Studio后设置环境变量,则需要重新启动VS。 VS 使用 VS 本身启动时所拥有的环境变量集启动应用程序。如果您在 VS 启动后设置该变量,那么 VS 就没有它,因此您的应用程序也不会。


0
投票

我遇到了同样的错误,并且该错误没有任何意义说明出了什么问题。

我发现我的配置中缺少

From
FromName
。所以在我的代码中,我使用
From
FromName
作为
null
来点击 SendGrid API。

这是我的情况,您可以检查一下是否遗漏了这些参数或其他参数,例如

To
电子邮件。或
API_KEY
或类似的东西。

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.