public async Task <ActionResult> Contact(ContactPageModel contactModel) { _logger.Info("Sending contact form email."); if (!ModelState.IsValid) { _logger.Info("Contact model invalid, returning contact view."); return(View(contactModel)); } try { await _iEmailLogic.SendContactFromEmail(contactModel); _logger.Info($"Successfully sent contact form email."); return(RedirectToRoute("contact-message-sent-url")); } catch (Exception ex) { _logger.Error($"Something went wrong sending the contact form email. Exception: {ex.Message}."); return(View("Error")); } }
public ActionResult Contact(ContactPageModel model) { if (ModelState.IsValid) { string messageSubject = "Message from: " + model.Email; string content = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("~/Mail Templates/ContactMailTemplate.html")); // look into file to understand where parameters are string message = string.Format(content, model.Name, model.Message); try { EmailSender.SendHtmlEmailTo("*****@*****.**", messageSubject, message); PZLogger.GetInstance().Info("HOME_CONTROLLER::Mail from " + model.Email + " successful sent"); return(View("ContactThanks")); } catch (Exception e) { PZLogger.GetInstance().Error("HOME_CONTROLLER::" + e.Message); return(View("~/Views/Shared/Error.cshtml")); } } else { return(View(model)); } }
public static void CreateNewContact() { var container = A.Fake <IRootNavigation> (); TinyIoC.TinyIoCContainer.Current.Register <IRootNavigation> (container); var db = new DatabaseService(new SQLiteFactory()); var vm = new ContactPageModel(db); vm.Init(null); //save to database vm.Contact.Name = "Peter"; vm.Contact.Phone = "9087"; vm.Done.Execute(null); Assert.IsTrue(vm.Contact.ContactId > 0); //get from database var savedContact = db.Conn.Table <Contact> ().Where((c) => c.ContactId == vm.Contact.ContactId).FirstOrDefault(); Assert.AreEqual("Peter", savedContact.Name); Assert.AreEqual("9087", savedContact.Phone); A.CallTo(() => container.PopPage()).MustHaveHappened(); }
public ActionResult Contact(ContactPageModel model) { if (!ReCaptcha.Validate(DataUtils.GetConfig("reCaptcha:SecretKey"))) { ModelState.AddModelError("", "Captcha cannot be empty"); } if (ModelState.IsValid) { EMail mail = new EMail() { Name = model.Name, SenderEmail = model.EmailAddress, Body = model.Message, ToAddress = model.EmailAddressTo, Subject = "New message", IsHtml = true }; EmailUtils.SendEmail(mail); return(Redirect($"/{CurrentUser.LanguageCode}/contact/confirm-contact/")); } return(CurrentUmbracoPage()); }
public ActionResult HandleContactUs(ContactPageModel model) { if (!ReCaptcha.Validate(DataUtils.GetConfig("ReCaptcha:SecretKey"))) { ModelState.AddModelError("", "Captcha cannot be empty"); } if (ModelState.IsValid) { EMail mail = new EMail() { Name = model.Name, SenderEmail = model.EmailAddress, Body = model.Message, ToAddress = SnuffoSettings.Create(model.Content).SupportEmail, Subject = model.Subject, IsHtml = true }; EmailUtils.SendEmail(mail); return(Redirect($"/{CurrentUser.LanguageCode}/contact/submitted")); } return(CurrentUmbracoPage()); }
public void OnGet_RequestPage() { // Arrange ContactPageModel pageModel = new ContactPageModel(); // Act var result = pageModel.Page(); // Assert Assert.IsType <PageResult>(result); }
public static Dictionary <string, string> ToContactParamDictionaryModel(this ContactPageModel contactModel) { var contactParamDictionary = new Dictionary <string, string> { [EmailParametersEnum.From.ToString().ToLower()] = contactModel.Name, [EmailParametersEnum.Email.ToString().ToLower()] = contactModel.Email, [EmailParametersEnum.Message.ToString().ToLower()] = contactModel.Message }; return(contactParamDictionary); }
public async Task SendContactFromEmail(ContactPageModel contactModel) { var adminEmails = ConfigurationManager.AppSettings["ArticoleCalarieAdminEmails"]; var sendTo = adminEmails.Split(';').ToList(); var template = GetEmailTemplate(MailTemplates.ContactEmail); template = MapTemplateDetails(template, contactModel.ToContactParamDictionaryModel()); var emailModel = new EmailModel { To = sendTo, From = ConfigurationManager.AppSettings["ArticoleCalarieEmail"], Subject = string.Format(MailSubjects.NewMessage), Body = template, ReplyTo = contactModel.Email }; await _iMailService.SendMail(emailModel); }
public ActionResult ContactPage() { var contact = new ContactPageModel(); return(PartialView(new ContactPageModel())); }