using System.Net.Mail; using System.Net; using System.Web.Mvc; using System.Web.ModelBinding; using System; using Newtonsoft.Json; namespace MailSender.Controllers { public class HomeController : Controller { [HttpPost] public ActionResult Index([System.Web.Http.FromBody]MailDTO.MailDTO mail) { string jsonString = TempData["mailModel"] as string; Models.MailModel model = null; if (!String.IsNullOrEmpty(jsonString)) model = JsonConvert.DeserializeObject(jsonString); if (model == null) model = new Models.MailModel(); return View(model); } [System.Web.Http.HttpGet] public ActionResult Error(string errMsg) { ViewData.Add("errMsg", errMsg); return View(); } [System.Web.Mvc.HttpPost] public ActionResult Send(MailSender.Models.MailModel model) { if (ModelState.IsValid) { var smtpClient = new SmtpClient(Settings.smtpServer, Settings.smtpPort) { Credentials = new NetworkCredential(Settings.user, Settings.pass), EnableSsl = true }; smtpClient.Send(Settings.user, model.EMailTo, model.Subject, model.Content); return RedirectToAction("Index"); } else return RedirectToAction("Error", new { errMsg = "Error nie umiesz pisac maila menelu" }); } } }