上海网站开发哪家好,基础网站怎么做,有哪些做微博长图网站,贵州网站建设设计公司哪家好之前有写过能发送邮件的小工具#xff0c;基本做法就是先在代码中写死一封HTML邮件的格式#xff0c;然后用适当的方法取得外部的几个值填到预设的参数里#xff0c;最后把合体后的string类型邮件发出去。简单的邮件还好#xff0c;当内容稍微多一点#xff0c;比如输出数…之前有写过能发送邮件的小工具基本做法就是先在代码中写死一封HTML邮件的格式然后用适当的方法取得外部的几个值填到预设的参数里最后把合体后的string类型邮件发出去。简单的邮件还好当内容稍微多一点比如输出数据库的一个表又或者邮件格式经常要变动的就感觉很麻烦很受拘束。 后来看到了别人用XSLT做的一个邮件模板很受启发。自己也尝试了一下就有了这篇文章。 下面这个方法是从数据库里搜索符合条件的数据列出由指定用户管理并且已经超过有效期限的文档以XML形式导出然后使用指定的xslt文件格式化取得的XML格式数据。 /// summary /// 生成邮件内容 /// /summary /// param namedate预定删除日期/param /// param nameaccount管理者ID/param private string GetSendMailBoby(DateTime date, string account) { using (conn new SqlConnection( ConfigurationManager.ConnectionStrings[mainDB].ConnectionString)) { conn.Open(); string bodyString string.Empty; string commString string.Empty; commString SELECT item_name,item_url,parent_url FROM DocAddress ; commString WHERE manger_idaccount AND due_dateexecutedate AND ; commString send_flg 0 FOR XML AUTO, ELEMENTS,ROOT(SendmailToUser); SqlCommand command new SqlCommand(commString, conn); command.Parameters.AddWithValue(account, account); command.Parameters.AddWithValue(executedate, date); using (XmlReader reader command.ExecuteXmlReader()) { XslCompiledTransform transform new System.Xml.Xsl.XslCompiledTransform(); transform.Load( Application.StartupPath ConfigurationManager.AppSettings[Mail.Template] ); XsltArgumentList argList new XsltArgumentList(); argList.AddParam(deleteday, , date.AddDays(14).ToLongDateString()); using (StringWriter writer new StringWriter()) { transform.Transform(reader, argList, writer); bodyString writer.ToString(); } } conn.Close(); return bodyString; } } 相应的XSLT文件。 ?xml version1.0 encodingutf-8 ? xsl:stylesheet version1.0 xmlns:xslhttp://www.w3.org/1999/XSL/Transform xsl:output methodhtml / xsl:param namedeleteday/ xsl:template matchDocAddress tr td width250 xsl:element nameA xsl:attribute namehref xsl:value-of selectitem_url/ /xsl:attribute xsl:value-of selectitem_name/ /xsl:element /td td xsl:element nameA xsl:attribute namehref xsl:value-of selectparent_url/ /xsl:attribute 打开保存地址 /xsl:element /td /tr /xsl:template xsl:template match/ html head title过期文章删除通知/title /head body 您所管理的下列邮件将在xsl:value-of select$deleteday/予以删除。 br/br/ table bordercolor#000000 border1 cellspacing0 tr td width250 stylefont-weight: bold; background-color: silver center文件名/center /td td stylefont-weight: bold; background-color: silver center存储地址/center /td /tr xsl:apply-templates select/SendmailToUser/DocAddress / /table br/ /body /html /xsl:template /xsl:stylesheet 具体的xslt语法参考下列网址 http://www.w3school.com.cn/xsl/index.asp 附上完整代码。(相关数据库表的建立参考压缩包内[~TableCreate.txt]文件。此外因为涉及到调用MOSS2007的服务器端设定必须引用Microsoft.SharePoint.dll请自行添加DLL或删除相关代码。) /Files/Kenr/MailSender.rar转载于:https://www.cnblogs.com/Kenr/archive/2009/06/24/1510141.html