UserManager.SendEmailAsync выдает сообщение.Назначение равно нулю


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

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

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

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

Сообщение.Пункт назначения равен нулю...

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

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

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

1 3

1 ответ:

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

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

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