忘记密码:如何在DotNetNuke中向用户发送电子邮件

时间:2012-03-01 12:41:37

标签: c# dotnetnuke

我已经为DNN(DotNetNuke)进行了自定义登录控制。现在我正在尝试实现忘记密码功能。我可以使用代码从数据库中检索密码:

UserInfo uInfo = UserController.GetUserByName(this.PortalId, userName);
if (uInfo != null)
{
    string password = UserController.GetPassword(ref uInfo, String.Empty);
}

我想使用DNN将检索到的密码发送给用户。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

通过电子邮件发送密码被视为一个很大的安全漏洞,真的不推荐

如果您仍然需要此功能,我想您可以通过SendMailSendEmail方法发送电子邮件来实现此目的:

DotNetNuke.Services.Mail.Mail.SendEmail()
DotNetNuke.Services.Mail.Mail.SendMail()

SendMail方法提供的选项/参数多于SendEmail方法。参数名称应该足够自我解释,以便使用这些方法。

答案 1 :(得分:1)

向用户发送密码的最简单方法是调用带有UserInfoDotNetNuke.Services.Mail.Mail.SendMailPortalSettings的{​​{3}}重载。您可以传递用户MessageType. PasswordReminder,DNN将负责其余部分。

那就是说,我和人群一起说,MessageType会更好,并认为这是一个不可能的功能请求(相反,应该通过密码重置功能来实现)。