如何让此代码发送新生成的密码或用户发送旧密码?
我想出了如何让代码发送电子邮件!发送者不是问题,但接收者是。其中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);
}
}
}
答案 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
向用户发送指向此页面的链接,用户可以自行创建新密码。