如何制作“重设密码”?

时间:2013-04-02 13:09:02

标签: asp.net

如何让此代码发送新生成的密码或用户发送旧密码?

我想出了如何让代码发送电子邮件!发送者不是问题,但接收者是。其中EmailAdresNaar必须替换为某人放入文本框或其他内容的电子邮件。

public void SendEmail()
    {



        string emailAdresVan = "invoerenSVP";
        string password = "invoerenSVP";


        MailMessage msg = new MailMessage();

        msg.From = new MailAddress(emailAdresVan);
        msg.To.Add(new MailAddress(EmailAdresNaar));
        msg.Subject = Onderwerp;
        msg.Body = Bericht;
        msg.IsBodyHtml = true;


        SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);

        NetworkCredential loginInfo = new NetworkCredential(emailAdresVan, password);


        smtpClient.EnableSsl = true;
        smtpClient.UseDefaultCredentials = true;
        smtpClient.Credentials = loginInfo;

        smtpClient.Send(msg); 

       }
   }
}

1 个答案:

答案 0 :(得分:1)

像这样输入您需要的数据:

msg.From = new MailAddress("support@yoursite.com");
msg.To.Add(new MailAddress(UserEmailTextBox.Text));
msg.Subject = "New Password";
msg.Body = GenerateNewPassword();

以及方法GenerateNewPassword()的示例,但是您应该使返回随机生成的新密码变得更加复杂(您需要google以获得不同的实现变体):

public string GenerateNewPassword()
{
    string new_pass = "";
    // generate new password
    return new_pass;
}

理想情况下,您应该制作另一个类似PasswordsReset.aspx的网页,并使用某种GUID向用户发送指向此页面的链接,用户可以自行创建新密码。