忘记密码:如何在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将检索到的密码发送给用户。
任何帮助都将不胜感激。
通过电子邮件发送密码被认为是一个很大的安全漏洞,确实不建议使用。
如果你仍然需要这个功能,我想你可以简单地通过SendMail
或SendEmail
方法发送电子邮件来完成:
DotNetNuke.Services.Mail.Mail.SendEmail()
DotNetNuke.Services.Mail.Mail.SendMail()
SendMail
方法提供了比SendEmail
方法更多的选项/参数。参数名称应该足够不言自明,以便使用这些方法。
向用户发送密码的最简单方法是调用DotNetNuke.Services.Mail.Mail.SendMail
重载,该重载使用UserInfo
、MessageType
和PortalSettings
。你可以把用户传进来,剩下的由MessageType. PasswordReminder
和DNN负责
也就是说,我和大家一起说,最好改用哈希密码,并认为这是一个不可能的功能请求(相反,应该通过密码重置功能来实现)。