/// <summary> /// 邮件模版构造 /// </summary> /// <param name="___TemplateName">模版名称</param> /// <param name="FileFullPath">完整路径</param> /// <param name="__Language">语言</param> public EmailTemplate(String ___TemplateName, String FileFullPath, String __Language = "en-US") { if (System.IO.File.Exists(FileFullPath)) { var document = XDocument.Parse(Common.ReplaceLowOrderASCIICharacters(System.IO.File.ReadAllText(FileFullPath))); var Templates = ( from p in document.Descendants("Template") where String.Equals(p.Attribute("Name").Value, ___TemplateName, StringComparison.CurrentCultureIgnoreCase) select new { Title = p.Element("Title").Value, Body = HttpUtility.HtmlDecode(p.Element("Body").Value), Language = p.Attribute("Language").Value, MailTo = p.Attribute("MailTo").Value, MailCC = p.Attribute("MailCC").Value, MailTime = Convert.ToInt32(p.Attribute("MailTime").Value), MailType = Convert.ToInt32(p.Attribute("MailType").Value) } ).ToList(); if (Templates != null && Templates.Count > 0) { var Template = Templates.Find(r => String.Equals(r.Language, __Language, StringComparison.CurrentCultureIgnoreCase)); if (!(Template != null && !String.IsNullOrEmpty(Template.Title)))//如果当前语言没有读取相应的,则应该取默认的英文 { Template = Templates.Find(r => String.Equals(r.Language, "en-US", StringComparison.CurrentCultureIgnoreCase)); } //以下是赋值 TemplateName = ___TemplateName; Title = Template.Title; Body = Template.Body; MailTime = Template.MailTime; Language = Template.Language; MailTo = Template.MailTo; MailCC = Template.MailCC; MailType = Template.MailType; } } }