public async Task <ActionResult> RecuperarContra(RecuperarContrasenia model) { if (ModelState.IsValid) { //var user = await UserManager.FindByNameAsync(model.Email); //if (user == null || !(await UserManager.IsEmailConfirmedAsync(user.Id))) //{ // // Don't reveal that the user does not exist or is not confirmed // return View("ForgotPasswordConfirmation"); //} //var code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); //var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); //await UserManager.SendEmailAsync(user.Id, "Reset Password", "Please reset your password by clicking here: <a href=\"" + callbackUrl + "\">link</a>"); //ViewBag.Link = callbackUrl; //return View("ForgotPasswordConfirmation"); } // If we got this far, something failed, redisplay form return(View(model)); }
protected void OlvidoContrasenia_Click(object sender, EventArgs e) { RecuperarContrasenia.Inicio(); }
public ResponseRecuperarContrasenia() { this.recuperarContrasenia = new RecuperarContrasenia(); }
/// <summary> /// getGenerarRecuperacionContrasenia /// </summary> public ResponseRecuperarContrasenia getGenerarRecuperacionContrasenia(String correo) { ResponseRecuperarContrasenia response = new ResponseRecuperarContrasenia(); SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cnxANTP"].ToString()); try { SqlCommand cmd = new SqlCommand("GENERAR_RECUPERACION_CUENTA", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@email", correo); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); //corregir xd response.codResultado = dr.IsDBNull(dr.GetOrdinal("CodResultado")) ? default(Int32) : dr.GetInt32(dr.GetOrdinal("CodResultado")); MailMessage msgCorreo = new MailMessage(); msgCorreo.To.Add(correo); msgCorreo.Subject = "Recuperación de cuenta"; msgCorreo.SubjectEncoding = System.Text.Encoding.UTF8; //msgCorreo.Bcc.Add(""); //enviara a otros tambien RecuperarContrasenia recuperarContrasenia = new RecuperarContrasenia(); int codUsuario = dr.IsDBNull(dr.GetOrdinal("IdUsuario")) ? default(Int32) : dr.GetInt32(dr.GetOrdinal("IdUsuario")); String codigoParaRecuperar = dr.IsDBNull(dr.GetOrdinal("CodAutogenerado")) ? "" : dr.GetString(dr.GetOrdinal("CodAutogenerado")); recuperarContrasenia.codUsuario = codUsuario; recuperarContrasenia.codigoAutogenerado = codigoParaRecuperar; response.recuperarContrasenia = recuperarContrasenia; if (response.codResultado == 1) { string htmlString = @"<html> <body><p>Hola estimado usuario,</p><p>Recientemente solicitó un cambio de contrasenia, si no fue usted ignore este mensaje.</p><p>código : " + codigoParaRecuperar + "<p>Tenga buen dia</p><br>-Equipo MilOficios</br></p> </body> </html>"; msgCorreo.Body = htmlString; msgCorreo.IsBodyHtml = true; //msgCorreo.BodyEncoding = System.Text.Encoding.UTF8; msgCorreo.From = new MailAddress("*****@*****.**"); SmtpClient cliente = new SmtpClient(); cliente.Credentials = new NetworkCredential("*****@*****.**", "soyunacontrasenia"); cliente.Port = 25; cliente.EnableSsl = true; cliente.Host = "smtp.gmail.com"; cliente.Send(msgCorreo); response.desResultado = "El mensaje fue enviado con exito"; } else if (response.codResultado == 2) { response.desResultado = "Sobrepasó el limite de envio por dia, vuelva a intentarlo mañana"; } else { response.desResultado = "No existe el correo en nuestro sistema"; } } catch (Exception ex) { response.codResultado = 0; response.desResultado = ex.ToString(); } finally { //con.Close(); } return(response); }