public bool RecuperarPasswordAccount(EmailDomainModel emailDM) { bool respuesta = false; try { //creamos el objeto del tipo mailmessage MailMessage correo = new MailMessage(); ///establecemos el objeto mail adrees con el correo de salida es decir el intermediario correo.From = new MailAddress("*****@*****.**"); ///la direccion de correo a donde enviaremos nuestro de email correo.To.Add(emailDM.FromEmail); //enviamos el asunto del email correo.Subject = emailDM.Asunto; //el mensaje del correo email correo.Body = emailDM.Mensaje; //establecemos que el mensaje es html puro correo.IsBodyHtml = true; correo.Priority = MailPriority.High; SmtpClient smtpClient = new SmtpClient(); smtpClient.Host = "smtp.gmail.com"; smtpClient.Port = 587; //465 o 587 25 smtpClient.EnableSsl = true; smtpClient.UseDefaultCredentials = true; string sCuentaMail = "*****@*****.**"; string sPasswordMail = "Sistemas410"; //enviamos el correo electronico con las credenciales adecuadas smtpClient.Credentials = new NetworkCredential(sCuentaMail, sPasswordMail); smtpClient.Send(correo); respuesta = true; } catch (Exception ex) { string mensajeErr = ex.Message; } return(respuesta); }
///este metodo se encarga de recuperar la contraseƱa de una cuenta via email public ActionResult RecoveryPassword([Bind(Include = "FromEmail")] EmailVM emailVM) { if (!string.IsNullOrEmpty(emailVM.FromEmail)) { UsuarioDomainModel usuarioDM = usuarioBusiness.ValidarEmailPasswordrecovery(emailVM.FromEmail.ToLower()); if (usuarioDM != null) { emailVM.FromNombre = usuarioDM.Nombres + " " + usuarioDM.Apellidos; emailVM.Asunto = Recursos.RecursosAdmin.RECUPERACION_PASSWORD_MAIL; emailVM.Mensaje = Recursos.RecursosAdmin.MENSAJE_PASSWORD_RECOVERY + " Tu Password es: " + Funciones.Decrypt(usuarioDM.Clave); emailVM.FromEmail = usuarioDM.Email.ToLower(); EmailDomainModel emailDM = new EmailDomainModel(); RecoveryPassword recovery = new RecoveryPassword(); AutoMapper.Mapper.Map(emailVM, emailDM); if (recovery.RecuperarPasswordAccount(emailDM)) { return(RedirectToAction("SuccessRecoveryPassword", "Account"));//vista a donde se envia el mensaje de exito } } } ///regresa a un page de error return(RedirectToAction("NoEmailRecovery", "Error")); }