public ActionResult Contacts(HelpViewModel model) { if (ModelState.IsValid) { EmailSettings settings = new EmailSettings(); SmtpClient smtp = new SmtpClient(); smtp.Host = settings.ServerName; smtp.Port = settings.ServerPort; smtp.EnableSsl = settings.UseSsl; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential(settings.MailFromAddress, settings.password); using (var msg = new MailMessage(settings.MailFromAddress, settings.MailFromAddress)) { string message = string.Format("От {0}<br>E-mail {1}<br>Сообщение {2}<br>", model.FullName, model.Email, model.Text); msg.Subject = "Вопрос-Ответ"; //message; msg.IsBodyHtml = true; msg.Body = message; try { smtp.Send(msg); } catch (Exception) { return RedirectToAction("NotFound", "Error"); } } return View("HelpConfirm", "", model); } return View(model); }
public async Task<ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { if (UserManager.Users.Any(t => t.Email == model.Email)) { ModelState.AddModelError("", "Пользователь с таким email уже зарегистрирован"); ViewBag.CountryId = new SelectList(DataManager.Coutries.GetAll().ToList(), "Id", "Name", model.CountryId); return View(model); } if (UserManager.Users.Any(t => t.PhoneNumber == model.Phone)) { ModelState.AddModelError("", "Пользователь с таким телефоном уже зарегистрирован"); ViewBag.CountryId = new SelectList(DataManager.Coutries.GetAll().ToList(), "Id", "Name", model.CountryId); return View(model); } var user = new ApplicationUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, MiddleName = model.MiddleName, City = model.City, CountryId = model.CountryId, PhoneNumber = model.Phone }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { EmailSettings settings = new EmailSettings(); // await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false); string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(user.Id, "Регистрация " + settings.Link, GetRegisterMessge(settings.Link, callbackUrl)); return View("MustConfirmEmail", model); } AddErrors(result); } ViewBag.CountryId = new SelectList(DataManager.Coutries.GetAll().ToList(), "Id", "Name",model.CountryId); return View(model); }
public async Task<ActionResult> ForgotPassword(ForgotPasswordViewModel model) { if (ModelState.IsValid) { var user = await UserManager.FindByEmailOrPhoneAsync(model.Email); if (user == null) { ModelState.AddModelError("", "Пользователь с таким e-mail не зарегистрирован."); return View(model); } EmailSettings settings= new EmailSettings(); string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(user.Id, "Восстановление пароля", "Здравствуйте! <br/>Вы отправили запрос на восстановление пароля от аккаунта " + user.Email + " .<br/>" + "Для того чтобы задать новый пароль, перейдите по <a href=\"" + callbackUrl + "\">ссылке</a>" + "С уважением, команда <a href=\"" + settings.Link + "\">"+settings.Link+"</a>"); return RedirectToAction("ForgotPasswordConfirmation", "Account"); } // If we got this far, something failed, redisplay form return View(model); }
public ActionResult InformPayment(InformPaymentViewModel model) { if (ModelState.IsValid) { EmailSettings settings = new EmailSettings(); SmtpClient smtp = new SmtpClient(); smtp.Host = settings.ServerName; smtp.Port = settings.ServerPort; smtp.EnableSsl = settings.UseSsl; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential(settings.MailFromAddress, settings.password); using (var msg = new MailMessage(settings.MailFromAddress, settings.MailFromAddress)) { string message= string.Format("Номер заказа {0}<br>Номер телефона {1}<br>Сумма оплаты {2}<br>Время платежа {3}", model.OrderId, model.PhoneNumber, model.Total,model.TimePay); msg.Subject = "Сообщение об оплате";//message; msg.IsBodyHtml = true; msg.Body = message; try { smtp.Send(msg); } catch (Exception) { return RedirectToAction("NotFound", "Error"); } } return View("InformPaymentConfirm", "", model); } return View(); }