2017-01-23 8 views
2

Наконец-то я смог развернуть приложение для Azure, изменив свою личность и соединительные строки EF в Azure.Проблема с соединением Azure и Sendgrid

Сначала я настраиваю 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("[email protected]"); 
     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 я добавил его в качестве установки переменной в лазури так же, как говорит приложение приложения. Sendgrid дал мне ключ API, который я держал, я просто не включил его в этом скриншоте: enter image description here

Он выглядит дословно коду и лазурную установка в ссылке документации, предоставленной, что я делаю неправильно здесь?

+0

Вы уверены, что это ключ, который не читает? Можете ли вы сделать тестовую страницу, которая печатает переменную окружения? Возможно, что-то еще сломано. – Rob

+0

Я действительно не уверен, что это так. Я пытаюсь сделать новую сборку prod и показать ключ api .. потому что он абсолютно работает локально. – tshoemake

+1

Хорошо, только что подтвердил, что он не получает мой ключ. Он отображается в локальном виде на моей странице, но в prod нет. – tshoemake

ответ

1

Кажется, что не проблема с кодом. И мы могли удаленно отлаживать сайт Azure в локальных инструментах VS dev. Подробнее о том, как удаленно отлаживать WebApp, см. В разделе document. После этого мы сможем легко выяснить эту проблему.

Основываясь на моем опыте, если почтовый адрес отправителя соответствует электронной почте получателю, тогда нет ошибки и нет отправки по электронной почте.

После добавления AppSetting на портал Azure нам также необходимо сохранить значение вручную. На скриншоте кажется, что настройка не сохраняется.

enter image description here

Если это единственный экземпляр WebApp, мы также могли бы проверить данные переменные среды из инструмента куды. (https://yourwebsite.scm.azurewebsites.net)

enter image description here

+0

Привет, Том спасибо за ответ. Я только что сделал точную вещь и проверил куду и показ моего ключа api! Что касается ввода фактического ключа api в качестве значения im, делающего это, я просто опустил его с моего скриншота – tshoemake

+0

Вы пытались удаленной отладки? –

+0

Я посмотрел на документ, и у меня нет публикации, когда я прямо щелкаю по моему решению. Я использую VS 2016 Developer edition – tshoemake