Вопрос

Я пытаюсь реализовать подтверждение по электронной почте для регистрации пользователя, используя стандартный UserManager и EmailService.

По какой-то причине при вызове UserManager.SendEmailAsync(userId,"",""") у меня есть IdentityMessage.Destnation равно null...

Вот моя реализация EmailService:

public Task SendAsync(IdentityMessage message)
    {
        return SendSupportMail(message.Subject, message.Body, message.Destination);
    }

сообщение.Значение пункта назначения равно нулю...

Что я делаю не так?

P.s.у меня есть UserManager с реализованными закрытыми ключами integer.Может быть, это проблема где-то здесь?

Спасибо за вашу помощь!

Это было полезно?

Решение

Это означает, что у пользователя нет адреса электронной почты.То message параметр создается таким образом:

var msg = new IdentityMessage
{
    Destination = await GetEmailAsync(userId),
    Subject = subject,
    Body = body,
};

Вы должны проверить, есть ли у пользователя адрес электронной почты в базе данных.Если вы создадите свой собственный UserStore, проверить выполнение UserStore.GetEmailAsync.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top