public HttpResponseMessage RecoverPassword([FromBody] string UserName) { try { using (var context = new OrgSys2017DataContext()) { var user = context.GetUserInfo(UserName).SingleOrDefault(); if (user != null) { if (user.Email == "") { return(Request.CreateResponse(HttpStatusCode.NotFound)); } var token = MembershipProvider.createToken(); context.CreatePasswordRecoveryAttempt(token, user.ClientID, user.UserID); using (var mail = new EmailController()) { var origin = Request.Headers.GetValues("Origin").FirstOrDefault(); var email = new { To = user.Email, From = "*****@*****.**", Subject = "OSI Portal - Recover Password", Body = $"Hello, </br></br>Please click <a href='https://umbrella02.orgsoln.com/Orgsys_Forms/ExternalPasswordConfig?recoverytoken={token}'>here</a> to create a new password.</br>" + "This link will expire in 2 hours.</br></br></br>Thank you" }; mail.Post(null, JsonConvert.SerializeObject(new { emailData = email })); return(Request.CreateResponse(HttpStatusCode.OK)); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } } catch (Exception e) { ExceptionLog.LogException(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } }