UserManager.SendEmailAsync抛出Message.Destination为null

时间:2014-04-13 17:38:42

标签: c# .net email confirmation usermanager

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

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

这是我的EmailService实现:

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

message.Destination为null ...

我做错了什么?

P.S。我有UserManager实现了整数的私钥。感觉冷到这里的问题?

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

这表示用户没有电子邮件地址。 message参数以这种方式创建:

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

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

的实施情况
相关问题