Tengo el codigo para recuperar la contraseña, que envie una nueva al correo pero no me funciona.
Controlador
public ActionResult RecuperarPassword() {
return View();
}
[HttpPost]
public ActionResult RecuperarPassword(String mail)
{
using (mensajeriaEntities4 bdmensajeria = new mensajeriaEntities4())
{
var i = (from p in bdmensajeria.usuario
where
p.mail ==mail
select p).FirstOrDefault();
if (i != null)
{
String status = SendPassword(i.contraseña,
i.mail,
i.login);
ModelState.AddModelError("", "Por favor revise su correo para iniciar sesión");
}
else {
ModelState.AddModelError("", "Por favor ingrese un correo valido registrado");
}
return View();
}
}
public String SendPassword(String contraseña, String mail, String login) {
try
{
MailMessage email = new MailMessage();
email.To.Add(mail);
email.From = new MailAddress("
ivesandrey@gmail.com");
email.Subject = "Recuperar contraseña para su cuenta" + mail;
String userMessage = "";
userMessage = userMessage + "<br/><b> Login:</b>" + mail;
userMessage = userMessage + "<br/><b> contraseña:>/b>" + contraseña;
String Body = "Hola" + login + ",<br/><br/>Estos son sus datos de ingreso:<br/><br/>" + userMessage + "<br/><br/>Gracias";
email.Body = Body;
email.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "
smtp.gmail.com"; // SMTP Server Address of gmail
smtp.Port = 587;
smtp.Credentials = new
System.Net.NetworkCredential("ivvesandrey@gmail.com", "contraseña");
smtp.EnableSsl = true;
smtp.Send(email);
return "Por favor verifique su correo para recuperar su contraseña";
}
catch
{
return "Error";
}
}
vista
<script>
function Validate() {
var data = document.getElementById("txtEmail").value;
if (data == "") {
alert("Por favor ingrese su email.");
Return false;
} else {
return true;
}
}
</script>
@using (Html.BeginForm("Index", "RecuperarPassword"))
{
<div>
Recuperar Password:@Html.TextBox("mail", "", new { @style = "width:200px;", @id = "txtEmail" })
<input type="submit" value="Submit" onclick="javascript: return Validate();"
Plazo de Entrega: No definido