public async Task <HttpResponseMessage> UserForgetPassword(ForgetPasswordRequest reqForgetPasswordRequest) { FResponse result = new FResponse(); try { Int64 UserId = _objFriendFitDBEntity.Database.SqlQuery <Int64>("select Id from UserProfile where Email={0}", reqForgetPasswordRequest.Email).FirstOrDefault(); if (UserId != 0) { _objIUserSettings.UpdateToken(UserId); string token = _objFriendFitDBEntity.Database.SqlQuery <string>("select TokenCode from UserToken where UserId={0}", UserId).FirstOrDefault(); string Email = _objFriendFitDBEntity.Database.SqlQuery <string>("Select Email from UserProfile Where Id=" + UserId).FirstOrDefault(); var SendingMessage = new MailMessage(); SendingMessage.To.Add(new MailAddress(Email)); // replace with valid value SendingMessage.From = new MailAddress("*****@*****.**"); // replace with valid value SendingMessage.Subject = "Password Reset (noti.fit)"; SendingMessage.Body = "Hi,<br/>You've requested a reset of your noti.fit password. If you didn't make the request, please ignore this email and your password won't be reset.<br/><br/> You can reset your password by visiting <br/> <br/><a href='" + ChangePasswordUrl + token + "'>" + ChangePasswordUrl + token + "</a> <br/><br/>This email will be valid for the next 12 hours.,<br/><br/><br/><br/>Kind regards<br/>The noti.fit team"; SendingMessage.IsBodyHtml = true; using (var smtp = new SmtpClient()) { var credential = new NetworkCredential { UserName = "******", // replace with valid value Password = "******" // replace with valid value }; smtp.Credentials = credential; smtp.Host = "smtp.gmail.com"; smtp.Port = 587; smtp.EnableSsl = true; await smtp.SendMailAsync(SendingMessage); } //track sent Email time for expiry time : EmailTimeSaveModel objreq = new EmailTimeSaveModel(); objreq.UserId = UserId; objreq.ResetMail = true; objreq.VerifyMail = false; objreq.MailSentTime = DateTime.Now.TimeOfDay; EmailTrackerWrapper wrapper = new EmailTrackerWrapper(); wrapper.EmailTimeSave(objreq); result.StatusCode = Convert.ToInt32(HttpStatusCode.OK); result.Message = "Please check your Email for further instructions"; } else { FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/Content/ErrorLog.txt"), FileMode.Append, FileAccess.Write); StreamWriter swr = new StreamWriter(fs); swr.Write("Enter ur Exception Here"); swr.Close(); result.StatusCode = Convert.ToInt32(HttpStatusCode.Unauthorized); result.Message = "This Mail Id is not registered"; } var message = Request.CreateResponse(HttpStatusCode.Created, result); return(message); } catch (Exception ex) { result.StatusCode = Convert.ToInt32(HttpStatusCode.BadRequest); _response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Some error occurred"); } return(_response); }