Забыли пароль: Как я могу отправить электронное письмо пользователю в DotNetNuke - PullRequest
3 голосов
/ 01 марта 2012

Я сделал пользовательский контроль входа в систему для DNN (DotNetNuke). Сейчас я пытаюсь реализовать функцию забытого пароля. Я могу восстановить пароль из базы данных, используя код:

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

Я хочу отправить полученный пароль пользователю, используя DNN.

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 04 марта 2012

Самый простой способ отправить пользователю его пароль - вызвать перегрузку DotNetNuke.Services.Mail.Mail.SendMail, которая принимает UserInfo, MessageType и PortalSettings. Вы можете передать пользователя, а MessageType. PasswordReminder и DNN позаботятся обо всем остальном.

Тем не менее, я присоединяюсь к толпе в том, что было бы гораздо лучше переключиться на использование хешированных паролей и считать это невозможным запросом функции (который вместо этого должен выполняться с функцией сброса пароля) ).

1 голос
/ 02 марта 2012

Отправка паролей по электронной почте считается большой уязвимостью безопасности, и действительно не рекомендуется .

Если вам все еще нужны эти функции, я думаю, вы можете просто сделать это, отправив электронное письмо с помощью SendMail или SendEmail методов:

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

Метод SendMail предоставляет больше параметров / параметров, чем метод SendEmail. Имена параметров должны быть достаточно понятны, чтобы использовать методы.

...