// // GET: /Email/ public ActionResult SendEmail(long artistId) { IUserDal userDal = new UserDal(new ArtGalleryDBContext()); var user = userDal.Enitities.Find(artistId); EMailView eMailView = new EMailView() { LogOnModel = user}; ViewBag.Menu = "_ArtistHome"; ViewBag.Model = user; ViewBag.Title = user.UserName; return View(eMailView); }
public ActionResult SendEmailByName(string artistName) { var db = new ArtGalleryDBContext(); var artist = Helpers.Helpers.GetUserForName(artistName,db); EMailView eMailView = new EMailView() { LogOnModel = artist }; ViewBag.Menu = "_ArtistHome"; ViewBag.Model = artist; ViewBag.Title = artist.UserName; return View("SendEmail", eMailView); }
public ActionResult SendEmail(EMailView model, string returnUrl) { if (ModelState.IsValid) { EMail eMail = new EMail(); try { //make sure to address is ok (as this set by system not user) Regex regex = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"); if (model.LogOnModel.Email == null) { ModelState.AddModelError("", "The 'To' address is blank"); } else { var match = regex.Match(model.LogOnModel.Email); if (match.Success) { string message = string.Format("<p>Message from {0}</p></br>{1}", model.EmailFrom, model.Message); eMail.SendEmailAsync(new MailMessage(EMail.UserName, model.LogOnModel.Email, "Do Not Reply - Art1st site contact from " + model.EmailFrom, message)); } else { //log message sent string message = string.Format("{0} \n from {1}", model.Message, model.EmailFrom); Logger.Error("Failed to send email to " + model.LogOnModel.UserName, null); EMail.SendEmailToAdministrator("Failed to send email to " + model.LogOnModel.UserName, message); } //do stuff if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return Redirect(returnUrl); } else { return RedirectToAction("Index", "Home"); } } } catch(FormatException ex) { ModelState.AddModelError("", "Please enter a valid email address"); } catch (Exception ex) { Logger.Error("Error in sendEmail", ex); ModelState.AddModelError("", ex.ToString()); } } // If we got this far, something failed, redisplay form return View(model); }