public ActionResult SetMailTemplate(MailTemplateSetModels model) { model.MailContent = HttpUtility.UrlDecode(model.MailContent); bool Result = MemberShipSettingDAO.SetMailTemplateItems(model); return(Json(Result ? "success" : "fail")); }
public static bool SetMailTemplateItems(MailTemplateSetModels item) { SQLData.Database db = new SQLData.Database(WebInfo.Conn); item.AttFiles = item.AttFiles == null ? "" : item.AttFiles; SQLData.TableObject tableObj = db.GetTableObject("MailTemplateSet"); tableObj.GetDataFromObject(item); DateTime now = DateTime.Now; string sql = $"SELECT * FROM MailTemplateSet WHERE TemplateName='{ item.TemplateName.Replace("'", "")}' "; bool isNew = db.GetFirstValue(sql) == null; if (isNew) { tableObj["Creator"] = Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent.Id; tableObj["CreateTime"] = now; tableObj["Modifier"] = WorkV3.Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent.Id; tableObj["ModifyTime"] = now; tableObj.Insert(); } else { tableObj.Remove("TemplateName"); tableObj.Remove("Creator"); tableObj.Remove("CreateTime"); tableObj["Modifier"] = WorkV3.Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent.Id; tableObj["ModifyTime"] = now; tableObj.Update(item.TemplateName); } return(true); }
public ActionResult GetMailTemplate(string TemplateName) { MailTemplateSetModels model = MemberShipSettingDAO.GetMailTemplateItems(TemplateName); // model.StatementContent = HttpUtility.UrlEncode(model.StatementContent); return(Json(model, JsonRequestBehavior.AllowGet)); }
public ActionResult TryToMail(long SiteID, long MenuID, string TemplateName) { ViewBag.SiteID = SiteID; ViewBag.MenuID = MenuID; ViewBag.TemplateName = TemplateName; MailTemplateSetModels model = MemberShipSettingDAO.GetMailTemplateItems(TemplateName); return(View(model)); }
public ActionResult DeleteFile(string TemplateName, int fileIndex) { MailTemplateSetModels model = MemberShipSettingDAO.GetMailTemplateItems(TemplateName); List <WorkV3.Models.ResourceFilesModels> fileList = Newtonsoft.Json.JsonConvert.DeserializeObject <List <WorkV3.Models.ResourceFilesModels> >(model.AttFiles); if (fileIndex < fileList.Count) { fileList.RemoveAt(fileIndex); } model.AttFiles = Newtonsoft.Json.JsonConvert.SerializeObject(fileList); bool Result = MemberShipSettingDAO.SetMailTemplateItems(model); return(Json(Result ? "success" : "fail")); }
public ActionResult SentTryMail(long SiteID, long MenuID, string TemplateName, string MailToList) { ViewBag.SiteID = SiteID; ViewBag.MenuID = MenuID; ViewBag.TemplateName = TemplateName; string message = ""; string SitesTitle = WorkV3.Models.DataAccess.SitesDAO.GetInfo(SiteID).Title; MailTemplateSetModels model = MemberShipSettingDAO.GetMailTemplateItems(TemplateName); if (model == null) { return(Json(new { result = "fail", message = "範本取得失敗" })); } if (!string.IsNullOrEmpty(MailToList)) { int mailCount = 0; string mailSubject = model.MailTitle .Replace("[WebsiteName]", SitesTitle);//Joe 20190924 改抓網站名稱 string mailContent = model.MailContent .Replace("[WebsiteName]", SitesTitle) .Replace("[SendDate]", DateTime.Now.ToString("yyyy/MM/dd")); ArrayList attFileList = new ArrayList(); if (!string.IsNullOrEmpty(model.AttFiles)) { string UploadVPath = WorkV3.Golbal.UpdFileInfo.GetUPathByMenuID(SiteID, MenuID); List <WorkV3.Areas.Backend.Models.ResourceFilesModels> fileList = Newtonsoft.Json.JsonConvert.DeserializeObject <List <WorkV3.Areas.Backend.Models.ResourceFilesModels> >(model.AttFiles); foreach (WorkV3.Areas.Backend.Models.ResourceFilesModels f in fileList) { //System.Net.Mail.Attachment attFile = new System.Net.Mail.Attachment(UploadVPath + "/" + f.FileInfo); attFileList.Add(UploadVPath + f.FileInfo); } } string[] mailTos = MailToList.Split(';'); foreach (string mailTo in mailTos) { try { new System.Net.Mail.MailAddress(mailTo); } catch { message += string.Format("[{0}]需為 E-Mail 格式\n", mailTo); continue; } if (attFileList.Count > 0) { WorkLib.uEMail.SendMailWithFiles(mailTo, "", mailSubject, mailContent, attFileList, model.MailFromAddress, SitesTitle); } else { WorkLib.uEMail.SendEMail(mailTo, "", mailSubject, mailContent, model.MailFromAddress, SitesTitle); } mailCount++; } message += string.Format("共寄出{0}封測試信件", mailCount.ToString()); //string VerifyUrl = string.Format("{0}://{1}{2}{3}/w/{4}/Verify?M={5}&K={6}", HttpContext.Current.Request.Url.Scheme, // HttpContext.Current.Request.Url.DnsSafeHost, // HttpContext.Current.Request.Url.Port == 80 ? "" : ":" + HttpContext.Current.Request.Url.Port.ToString(), // HttpContext.Current.Request.ApplicationPath == "/" ? "" : "/" + HttpContext.Current.Request.ApplicationPath.Trim('/'), // WorkLib.GetItem.appSet("DefaultSiteSN").ToString(), // tableObj["ID"].ToString(), item.VerifyCode); } else { } return(Json(new { result = "success", message = message })); }
public static MailTemplateSetModels GetMailTemplateItems(string TemplateName) { string sel_sql = $"SELECT * FROM MailTemplateSet WHERE TemplateName='{ TemplateName.Replace("'", "")}' "; using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(WebInfo.Conn)) { var qResult = conn.Query <MailTemplateSetModels>(sel_sql); if (qResult != null && qResult.Count() > 0) { MailTemplateSetModels model = qResult.First(); model.AttShowFiles = ""; if (!string.IsNullOrEmpty(model.AttFiles)) { List <ViewModels.MemberShipSetFile> fileShowList = new List <ViewModels.MemberShipSetFile>(); List <WorkV3.Models.ResourceFilesModels> fileList = Newtonsoft.Json.JsonConvert.DeserializeObject <List <WorkV3.Models.ResourceFilesModels> >(model.AttFiles); foreach (WorkV3.Models.ResourceFilesModels fileModel in fileList) { ViewModels.MemberShipSetFile showFile = new ViewModels.MemberShipSetFile() { FileInfo = fileModel.FileInfo, FileSize = fileModel.FileSize.HasValue ? fileModel.FileSize.Value : 0, FileSizeDesc = "0", ShowName = fileModel.ShowName }; showFile.FileSizeDesc = WorkLib.uFiles.SizeToText((long)showFile.FileSize); fileShowList.Add(showFile); } model.AttShowFiles = Newtonsoft.Json.JsonConvert.SerializeObject(fileShowList); } return(model); } else { MailTemplateSetModels item = new MailTemplateSetModels(); item.TemplateName = TemplateName; System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument(); xmldoc.Load(HttpContext.Current.Server.MapPath("~/App_Data/mailContent/MailTemplates.xml")); System.Xml.XmlNode templateNode = xmldoc.SelectSingleNode(string.Format("/Mails/Template[@ID='{0}']", TemplateName)); item.MailTitle = templateNode.SelectSingleNode("Subject").InnerXml; item.MailContent = templateNode.SelectSingleNode("Content").InnerXml; item.MailFromName = (string)WorkLib.GetItem.appSet("MailSender"); item.MailFromAddress = (string)WorkLib.GetItem.appSet("MailFrom"); item.AttFiles = ""; SQLData.Database db = new SQLData.Database(WebInfo.Conn); SQLData.TableObject tableObj = db.GetTableObject("MailTemplateSet"); tableObj.GetDataFromObject(item); if (Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent != null) { tableObj["Creator"] = Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent.Id; } else { tableObj["Creator"] = 0; } tableObj["CreateTime"] = DateTime.Now; if (Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent != null) { tableObj["Modifier"] = WorkV3.Areas.Backend.Models.DataAccess.MemberDAO.SysCurrent.Id; } else { tableObj["Modifier"] = 0; } tableObj["ModifyTime"] = DateTime.Now; tableObj.Insert(); return(item); } } //return new MailTemplateSetModels(); }