public ActionResult ConsignNow(ConsignNowForm form) { try { form.FileLinks = Directory.GetFiles(ImageRepository.GetTempImagePath(form.ID), "sf_*.*").Select(file => new FileInfo(file)).Select(fileInfo => string.Format("{0}{1}", Consts.ResourceHostName, AppHelper.TempImage(form.ID, fileInfo.Name))).ToList(); form.Attachments = Directory.GetFiles(ImageRepository.GetTempImagePath(form.ID), "thmb_*.*").ToList(); var isValidCaptchaValue = CaptchaController.IsValidCaptchaValue(form.CaptchaValue); if (!isValidCaptchaValue) { throw new Exception("Invalid captcha!"); } string sendEmails = ConfigurationManager.AppSettings["ConsignorMessagesEmail"]; List <string> emails = new List <string>(sendEmails.Split(',')); foreach (string email in emails.Where(t => !string.IsNullOrEmpty(t)).Distinct()) { Mail.SendMessageFromConsignor(email, form); } InitCurrentEvent(); } catch (Exception ex) { ViewData["Error"] = ex.Message; form.CaptchaValue = string.Empty; return(View(form)); } return(View("ConsignNowSuccess")); }
public static void SendMessageFromConsignor(string emailTo, ConsignNowForm form) { UniMail.Template template = new UniMail.Template(HttpContext.Current.Server.MapPath(@"~\Templates\Mail\MessageFromConsignor.txt")); template.Encoding = Encoding.UTF8; template.ToEmail = emailTo; template.Data.Add("{{firstname}}", form.FirstName); template.Data.Add("{{lastname}}", form.LastName); template.Data.Add("{{email}}", form.Email); template.Data.Add("{{phone}}", form.Phone ?? string.Empty); if (!string.IsNullOrWhiteSpace(form.Description)) { template.Data.Add("{{descriptionTitle}}", "Item(s) description:"); template.Data.Add("{{description}}", form.Description); } else { template.Data.Add("{{descriptionTitle}}", string.Empty); template.Data.Add("{{description}}", string.Empty); } template.Data.Add("{{acquire}}", form.Acquire ?? string.Empty); template.Data.Add("{{finance}}", form.Finance ? "Yes" : "No"); template.Data.Add("{{subscribe}}", form.Subscribe ? "Yes" : "No"); if (form.FileLinks.Any()) { StringBuilder sb = new StringBuilder("Image(s):<br />"); form.FileLinks.ForEach(t => sb.AppendFormat("<a href=\"{0}\" target=\"_blank\"><img src=\"{0}\" style=\"max-width:220px;max-height:220px;\"></a>", t)); template.Data.Add("{{images}}", sb.ToString()); } else { template.Data.Add("{{images}}", string.Empty); } form.Attachments.ForEach(t => template.AttachItem.Add(new Attachment(t, MediaTypeNames.Image.Jpeg))); ParseCommonData(template); UniMail.Mailer.Send(template.RenderHTML()); }