public IHttpActionResult PostRecoveryPassword([FromUri] string email) { var user = db.Users.FirstOrDefault(x => x.Email == email); if (user == null) { return(NotFound()); } var newpass = System.Web.Security.Membership.GeneratePassword(6, 0); var emailInput = new EmailInputDto(); //var pat = db.Patients.Find(emailPostDto.appointment.PatientId); emailInput.UserName = user.FirstName + " " + user.LastName; emailInput.Email = user.Email; emailInput.Subject = "Відновлення пароля!"; emailInput.Body = "Ваш парольно змінено\nНовий пароль:\n" + newpass + "\nБудь ласка змініть свій пароль при входженні в систему"; try { EMailHelper.SendNotification(emailInput); user.Password = HashHelper.sha256_hash(newpass); db.Entry(user).State = EntityState.Modified; db.SaveChanges(); return(Ok()); } catch (Exception) { return(BadRequest()); } }
public static void SendConfirmRegisterNotification(EmailInputDto emailInput, int idUser) { var fromAddress = new MailAddress(Email, "Extra Air"); var toAddress = new MailAddress(emailInput.Email, emailInput.UserName); var html = "Будь ласка підтвердіть реєстрацію свого акаунта перейшовши за посиланням: <a href=\"" + Path.WebClientPath + "#/confirmRegistration/" + idUser + "\">link</a><br/>"; var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword) }; var message = new MailMessage(fromAddress, toAddress); message.Subject = emailInput.Subject; message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null, MediaTypeNames.Text.Html)); smtp.Send(message); smtp.Dispose(); message.Dispose(); }
public IHttpActionResult SendConfirmRegisterEmail(int id) { var emailInput = new EmailInputDto(); var client = db.Clients.Find(id); emailInput.UserName = client.FirstName + client.LastName; emailInput.Email = client.Email; emailInput.Subject = "Підтвердження реєстрації!"; try { EMailHelper.SendConfirmRegisterNotification(emailInput, id); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(Ok()); }
public static void SendNotification(EmailInputDto emailInput) { var fromAddress = new MailAddress(Email, "Extra Air"); var toAddress = new MailAddress(emailInput.Email, emailInput.UserName); var message = new MailMessage(fromAddress, toAddress); var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword) }; message.Subject = emailInput.Subject; message.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(emailInput.Body, null, MediaTypeNames.Text.Html)); smtp.Send(message); smtp.Dispose(); message.Dispose(); }