public async Task SendForgotPwd(ForgotPasswordRes req) { var email = new EmailTemplate { To = To, //To = "*****@*****.**", Bcc = Bcc, Subject = "EMECI - Recordatorio de contraseña", Title = "Protege tu salud y la de tu familia a través de EMECI", TypeEmailToSend = EmailTemplate.TypeEmail.forgotPwd, ForgotPwd = req }; try { await email.SendAsync(); } catch (Exception ex) { Log.Write($"EmailService, SendForgotPwd=> {ex.Message}"); } }
/// <summary> /// El usuario solicita reestablecer contraseña /// </summary> /// <param name="dni"></param> /// <returns></returns> internal static ForgotPasswordRes forgotPassword_requets(string dni) { ForgotPasswordRes result = new ForgotPasswordRes(); var baseUrl = Common.GetBaseUrl(); //verificar si existe en el dominio //bool userExst = true;//UserExist(userName, domainName); //if (!userExst ) //{ // result.Status = "Error"; // result.Message = " <p> El usuario ingresado no existe.</p>"; // return result; //} EmpleadoBE empleadoBE = MeucciDAC.VirifyUser_ForgotPassword(dni); empleadoBE.DNI = dni; //Buscar empleado //EmpleadoBE empleadoBE = new EmpleadoBE(); //empleadoBE.email = "*****@*****.**"; //empleadoBE.ApeNom ="MOF"; //var res = getSocioBEByUserName(userName, false, false); if (string.IsNullOrEmpty(empleadoBE.Email)) { result.Status = "Error"; result.Message = " <p> El usuario ingresado no registra un correo.</p>"; return(result); } Int64 ttl = Fwk.HelperFunctions.DateFunctions.DateTimeToUnixTimeStamp(System.DateTime.Now.AddMinutes(10)); //Generate token string toEncrypt = string.Concat(empleadoBE.DNI, ";", empleadoBE.Email.Trim(), ";", ttl.ToString()); string code = Common.Encrypt(toEncrypt); //string code = Common.getMd5Hash(string.Concat(empleadoBE.DNI, empleadoBE.Email.Trim())); string file = System.Web.Hosting.HostingEnvironment.MapPath("~/files/Email_Forgot_Password.html"); try { string txt = Fwk.HelperFunctions.FileFunctions.OpenTextFile(file); StringBuilder BODY = new StringBuilder(txt); BODY.Replace("$userName$", empleadoBE.ApeNom); //BODY.Replace("$url$", "https://host/selfreset/?code=" + code); //string forgotPwd = String.Format("reset/{0}/{1}", code, empleadoBE.DNI); string forgotPwd = String.Format("reset?code={0}", HttpUtility.UrlEncode(code)); BODY.Replace("$url$", apiHelper.apiConfig.url_reseteoBase + forgotPwd); Common.SendMail(string.Concat("Solicitud de cambio de contraseña"), BODY.ToString(), empleadoBE.Email.Trim(), ""); int at = empleadoBE.Email.IndexOf('@'); var mail = "*******" + empleadoBE.Email.Substring(at - 3, empleadoBE.Email.Length - at + 3); result.Message = "Le enviaremos un email a su casilla de correo " + mail + " y " + "en el mismo encontrará un código de acceso en un enlace para que finalice el " + "proceso de cambio de contraseña"; result.Status = "Success"; } catch (Exception ex) { result.Status = "Error"; result.Message = Fwk.Exceptions.ExceptionHelper.GetAllMessageException(ex, false); } return(result); // Common.SendMail("Registracion de socio al sitio web de CELAM", string.Format(txt, userName), "*****@*****.**", emai.Trim(), ""); }