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

本文关键字:用户 电子邮件 DotNetNuke 密码 忘记 | 更新日期: 2023-09-27 18:26:31

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

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

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

任何帮助都将不胜感激。

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

通过电子邮件发送密码被认为是一个很大的安全漏洞,确实不建议使用

如果你仍然需要这个功能,我想你可以简单地通过SendMailSendEmail方法发送电子邮件来完成:

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

SendMail方法提供了比SendEmail方法更多的选项/参数。参数名称应该足够不言自明,以便使用这些方法。

向用户发送密码的最简单方法是调用DotNetNuke.Services.Mail.Mail.SendMail重载,该重载使用UserInfoMessageTypePortalSettings。你可以把用户传进来,剩下的由MessageType. PasswordReminder和DNN负责

也就是说,我和大家一起说,最好改用哈希密码,并认为这是一个不可能的功能请求(相反,应该通过密码重置功能来实现)。