【问题标题】:Azure and Sendgrid connection issueAzure 和 Sendgrid 连接问题
【发布时间】:2017-01-23 04:58:44
【问题描述】:

在 Azure 中更改了我的身份和 EF 连接字符串后,我终于能够将应用程序部署到 Azure。

我首先设置了 Sendgrid,因为我的 mvc 应用程序会发送电子邮件确认以进行用户注册。它在本地运行得非常好,我很高兴它的无缝性。但是,当尝试与 Azure 集成时,它没有注册任何内容。

在本地,我将我的 API 密钥作为环境变量添加到本地计算机上,并且它有效。这是代码:

 private async Task configSendGridasync(IdentityMessage message)
    {               
        //For Local
        string apiKey = Environment.GetEnvironmentVariable("my_sendgrid_key");

        dynamic sg = new SendGridAPIClient(apiKey);

        Email from = new Email("senders@email.com");
        string subject = message.Subject;
        Email to = new Email(message.Destination);
        Content content = new Content("text/plain", message.Body);
        Mail mail = new Mail(from, subject, to, content);

        dynamic response = await sg.client.mail.send.post(requestBody: mail.Get());
    }

this doc 之后,我将它添加为 Azure 中的应用程序设置变量,正如应用程序所说的那样。 Sendgrid 给了我一个我保留的 api 密钥,我只是没有将它包含在此屏幕截图中:

从提供的文档链接中的代码和天蓝色设置来看,我在这里做错了什么?

【问题讨论】:

  • 你确定是钥匙没读吗?你能制作一个打印出环境变量的测试页吗?也许还有其他东西坏了。
  • 我实际上不确定就是这样。我会尝试做一个新的产品构建并显示 api 密钥.. 因为它绝对可以在本地工作。
  • 好的,刚刚确认它没有拿到我的钥匙。它在我的页面上显示在本地,但在 prod 中不显示。
  • 其实不是这样的。我排队了一个新的构建,但这些变化并没有反映在 prod azure 环境中.....
  • 最终能够对此进行测试,并且密钥正在生产页面上显示。

标签: c# asp.net-mvc azure azure-web-app-service sendgrid


【解决方案1】:

似乎不是代码问题。我们可以在本地 VS 开发工具中远程调试 Azure 网站。 有关如何远程调试 WebApp 的更多信息,请参阅document。之后我们可以很容易地找出问题所在。

根据我的经验,如果发件人电子邮件等于收件人电子邮件,则没有错误,也不会发送电子邮件。

在 Azure 门户中添加 AppSetting 后,我们还需要手动保存该值。从你的截图看,设置好像没有保存。

如果是单实例WebApp,我们也可以通过kudu工具查看环境变量信息。 (https://yourwebsite.scm.azurewebsites.net)

【讨论】:

  • 嗨,汤姆,感谢您的回复。我刚刚做了那件事并检查了 kudu 并显示了我的 api 密钥!至于将实际的 api 键作为值我也在这样做,我只是从我的屏幕截图中省略了它
  • 我查看了文档,当我右键单击我的解决方案时我没有发布。我正在使用 VS 2016 开发者版
  • 很奇怪Environment.GetEnvironmentVariable("my_sendgrid_key")无法获取appsetting值。它对我来说可以正常工作。请尝试另一种获取my_sendgrid_key 值的方法,apiKey = ConfigurationManager.AppSettings["my_sendgrid_key"]
  • 在我这样做之前我有一个问题。我正在使用持续交付。当我推送构建然后发布时,为什么我的新更改没有显示?我还有什么事情要做吗
  • Nvm,必须释放才能使其工作。我要休息很晚了,我有工作然后我明天试试这个。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2016-04-02
  • 1970-01-01
  • 2021-10-19
  • 2022-07-13
  • 2023-01-13
  • 2018-07-10
  • 2020-08-23
  • 2018-02-28
相关资源
最近更新 更多