【问题标题】:SendGrid V3 api with C# not able to send mail带有 C# 的 SendGrid V3 api 无法发送邮件
【发布时间】:2023-04-10 01:45:01
【问题描述】:

这是我正在使用的代码。由于某种原因,它给出了一个错误:“未经授权”。任何想法为什么会发生这种情况。 Api-key 配置正确。

String apiKey = Environment.GetEnvironmentVariable("SG.7cSY-INMQnCwIzmonlgZvA.zNtNDycx......", EnvironmentVariableTarget.User);
            dynamic sg = new SendGrid.SendGridAPIClient(apiKey, "https://api.sendgrid.com");

            Email from = new Email("account@id.com");
            String subject = "Hello World from the SendGrid CSharp Library";
            Email to = new Email("someone@gmail.com");
            Content content = new Content("text/plain", "Textual content");
            Mail mail = new Mail(from, subject, to, content);
            //Email email = new Email("test2@example.com");
            //mail.Personalization[0].AddTo(email);

            String ret = mail.Get();

            string requestBody = ret;
            Console.WriteLine(ret);

            try
            {
                dynamic response = sg.client.mail.send.beta.post(requestBody: requestBody);
                Console.WriteLine(response.StatusCode);
                Console.WriteLine(response.Body.ReadAsStringAsync().Result);
                Console.WriteLine(response.Headers.ToString());
            }
            catch (Exception ex) {
                Console.WriteLine("SendGrid Error: {0}",ex.Message);
            }

【问题讨论】:

    标签: c# email sendgrid


    【解决方案1】:

    在这行代码中:

    String apiKey = Environment.GetEnvironmentVariable("SG.7cSY-INMQnCwIzmonlgZvA.zNtNDycx......", EnvironmentVariableTarget.User);
    

    第一个参数是保存您的 SendGrid API 密钥值的环境变量的名称,范围为用户帐户。如果您不使用环境变量并且愿意将 API 密钥放入代码中(不推荐,但这将允许您测试它是否有效),您可以这样做:

    String apiKey = "SG.7cSY-INMQnCwIzmonlgZvA.zNtNDycx......";
    

    【讨论】:

    • 好的,如果我错了,请纠正我:EnvironmentVariableAppSettings 非常相似。但是,使用EnvironmentVariable,您可以为不同的用户存储不同的 API-Key(不同的配置)。
    • 我对 AppSettings 不熟悉。对于 EnvironmentVariable,我的理解是您可以从当前用户的空间或系统范围内获取值。在上面的代码中,我假设您在用户空间中设置了环境变量。
    猜你喜欢
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    相关资源
    最近更新 更多