我正在尝试使用标准 UserManager 和 EmailService 来实现用户注册的电子邮件确认。

由于某种原因,在调用 UserManager.SendEmailAsync(userId,"","") 时,我有 IdentityMessage.Destnation 为空...

这是我的 EmailService 实现:

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

消息。目的地为空...

我究竟做错了什么?

附注我有 UserManager 并实现了整数的私钥。冷,这里的某个地方有问题吗?

感谢您的帮助!

有帮助吗?

解决方案

这意味着用户没有电子邮件地址。这 message 参数是这样创建的:

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

您应该检查该用户在数据库中是否有电子邮件地址。如果您创建自己的 UserStore,检查执行情况 UserStore.GetEmailAsync.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top