private void MailSend(long siteId, FormMailModel mail, string mailSubject, string mailBody, System.Collections.ArrayList fileList, string recipientIds) { string SitesTitle = SitesDAO.GetInfo(siteId).Title;//網站名稱 IEnumerable <long> recipientIdList = recipientIds.Split(',').Select(id => long.Parse(id)); IEnumerable <FormItem> formItems = FormItemDAO.GetItems(recipientIdList); string rootUrl = Utility.GetRootUrl() + "/"; foreach (FormItem item in formItems) { if (string.IsNullOrWhiteSpace(item.Email)) { continue; } FormCheckStatus status = (FormCheckStatus)item.CheckStatus; string result = status == FormCheckStatus.正取 ? "報名成功" : status.ToString(); string subject = mailSubject.Replace("[RegTime]", item.CreateDate.ToString(WebInfo.DateFmt)) .Replace("[RegName]", item.Name) .Replace("[RegGender]", item.Sex) .Replace("[RegResult]", result); string receiveUrl = $"{ rootUrl }Form/MailRead/{ mail.ID }?itemId={ item.ID }"; string body = mailBody.Replace("[RegTime]", item.CreateDate.ToString(WebInfo.DateFmt)) .Replace("[RegName]", item.Name) .Replace("[RegGender]", item.Sex) .Replace("[Receive]", receiveUrl) .Replace("[RegPhone]", item.Mobile) .Replace("[RegTel]", item.Phone) .Replace("[RegEmail]", item.Email) .Replace("[RegResult]", result); emailService.SendMailWithFiles(siteId, item.Email, item.Name, subject, body, fileList, mail.SenderEmail, SitesTitle); FormMailDAO.WriteLog(mail.ID, item.ID); } }
public ActionResult MailView(long siteId, long menuId, long id) { ViewBag.UploadUrl = Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId).TrimEnd('/') + "/"; FormMailModel item = FormMailDAO.GetItem(id); return(View(item)); }
public ActionResult MailLogList(long siteId, long menuId, long id, bool?isEvent) { IEnumerable <FormMailLogModel> logs = FormMailDAO.GetMailLogs(id); ViewBag.FormItems = FormItemDAO.GetItems(logs.Select(log => log.FormItemID)); ViewBag.SiteID = siteId; ViewBag.IsEvent = isEvent ?? false; return(View(logs)); }
public ActionResult MailLog(long siteId, long menuId, long formId, bool?isEvent) { ViewBag.SiteID = siteId; ViewBag.MenuID = menuId; ViewBag.IsEvent = isEvent ?? false; IEnumerable <FormMailModel> items = FormMailDAO.GetItems(formId); return(View(items)); }
public string SendMail(long siteId, long menuId, FormMailModel mail, string[] fileList, string recipientIds, string recipientEmails, bool isTest, bool?isEvent = false) { if (mail == null || string.IsNullOrWhiteSpace(mail.MailBody)) { return("Mail 為 NULL"); } if (isTest && string.IsNullOrWhiteSpace(recipientEmails)) { return("測試郵件缺少收信人"); } if (!isTest && string.IsNullOrWhiteSpace(recipientIds)) { return("未選擇郵件發送用戶"); } SitesModels site = SitesDAO.GetInfo(siteId); System.Collections.ArrayList emailFiles = new System.Collections.ArrayList(); List <ResourceFilesModels> files = new List <ResourceFilesModels>(); if (fileList?.Length > 0) { string uploadPath = Golbal.UpdFileInfo.GetUPathByMenuID(siteId, menuId).TrimEnd('\\') + "\\"; foreach (string item in fileList) { ResourceFilesModels file = JsonConvert.DeserializeObject <ResourceFilesModels>(item); files.Add(file); emailFiles.Add(uploadPath + file.FileInfo); } } mail.Files = JsonConvert.SerializeObject(files); FormModel form = FormDAO.GetItem(mail.FormID); string mailSubject = mail.MailSubject.Replace("[WebsiteName]", site.Title).Replace("[SendDate]", DateTime.Now.ToString(WebInfo.DateFmt)); string mailBody = mail.MailBody.Replace("[WebsiteName]", site.Title).Replace("[SendDate]", DateTime.Now.ToString(WebInfo.DateFmt)); mailSubject = mailSubject.Replace("[FormName]", form.Title); mailBody = mailBody.Replace("[FormName]", form.Title); if (isTest) { SendMailTest(siteId, mail, mailSubject, mailBody, emailFiles, recipientEmails, isEvent); return("測試郵件發送成功"); } mail.ID = WorkLib.GetItem.NewSN(); FormMailDAO.SetItem(mail); MailSend(siteId, mail, mailSubject, mailBody, emailFiles, recipientIds); return("郵件發送成功"); }
public string MailRead(long id, long itemId) { FormMailDAO.WriteReadLog(id, itemId); return("<script language=\"javascript\">window.opener=null;window.close();</script>"); }