Ich versuche, eine vergessene Passwort-Seite zu erstellen. Der Benutzer wird seine E-Mail-Adresse in das vorgesehene Feld eingeben. Wenn die E-Mail gesendet wird, wird gefiltert, ob sie in der Datenbank vorhanden ist oder nicht. Ich habe Fehler auf con.Open(); wo der Fehler "Login fehlgeschlagen für Benutzer root" immer passiert, wenn ich versuche, die Schaltfläche Senden zu drücken. Dank für die Hilfe im VorausAnmeldung fehlgeschlagen für Benutzer 'root'
string username = string.Empty;
string password = string.Empty;
string constr = ConfigurationManager.ConnectionStrings["DBCon"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT username, password FROM user_tbl WHERE email = @Email"))
{
cmd.Parameters.AddWithValue("@Email", txbx_email.Text.Trim());
cmd.Connection = con;
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
if (sdr.Read())
{
username = sdr["Username"].ToString();
password = sdr["Password"].ToString();
}
}
con.Close();
}
}
if (!string.IsNullOrEmpty(password))
{
MailMessage mm = new MailMessage("[email protected]", txbx_email.Text.Trim());
mm.Subject = "Password Recovery";
mm.Body = string.Format("Hi {0},<br /><br />Your password is {1}.<br /><br />Thank You.", username, password);
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential();
NetworkCred.UserName = "***@gmail.com";
NetworkCred.Password = "***";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
lbl_message.ForeColor = Color.Green;
lbl_message.Text = "Password has been sent to your email address.";
}
else
{
lbl_message.ForeColor = Color.Red;
lbl_message.Text = "This email address does not match our records.";
}
ist Datenbankverbindungszeichenfolge richtig? –
Warum speichern Sie Nur-Text-Passwörter? und warum schickst du das Passwort in einer E-Mail! Tu das nicht! –
@MahediSabuj Ja, ich habe es überprüft, immer noch Fehler auf con.Open(); – Alphi