C# ASP.NET服务器的Word邮件合并

C# ASP.NET服务器的Word邮件合并,c#,.net,asp.net,ms-word,C#,.net,Asp.net,Ms Word,需要为ASP.NET应用程序执行邮件合并 仅考虑直接以编程方式使用word,但这会产生liscening含义,不建议使用() 我们也在研究openXML/Word自动化服务。但不确定是否可以通过此轻松实现邮件合并?我们在4-5年前就有这样的要求,然后我们决定采用定制的自制解决方案。以下是可能对您有所帮助的解决方案概述: 使用富文本框捕获邮件模板(用户可以创建自己的邮件)。使用特殊语法在模板中插入数据的占位符。因此,您拥有的是一个包含占位符的html正文 当需要为N条记录生成邮件时,对于每条记录,

需要为ASP.NET应用程序执行邮件合并

仅考虑直接以编程方式使用word,但这会产生liscening含义,不建议使用()


我们也在研究openXML/Word自动化服务。但不确定是否可以通过此轻松实现邮件合并?

我们在4-5年前就有这样的要求,然后我们决定采用定制的自制解决方案。以下是可能对您有所帮助的解决方案概述:

  • 使用富文本框捕获邮件模板(用户可以创建自己的邮件)。使用特殊语法在模板中插入数据的占位符。因此,您拥有的是一个包含占位符的html正文
  • 当需要为N条记录生成邮件时,对于每条记录,解析模板html以搜索占位符(可以使用reg ex完成),并用相关数据替换它们
  • 生成的html可以通过电子邮件发送(也可以使用库将其转换为pdf或word)
  • 实际上,这可能意味着需要根据实际需求进行大量工作。例如,在我们的案例中

  • 我们有一个描述业务实体及其属性的元数据存储库
  • 用于最终用户定义模板的GUI。UI允许多部分模板(例如,如果您需要发送带有附件的求职信),插入各种占位符(我们支持字段、实体组、简单筛选等),部分格式(html/pdf/doc),电子邮件/传真收件人的详细信息(元数据方面)
  • 实体分组支持-本质上意味着该功能具有子数据。例如,要打印关于订单的信函,您必须为订单中订购的项目(产品)放置一个表。这种嵌套可以有任何级别
  • 为了提高效率,有一种运行时只解析模板内容一次,然后只进行替换。我们还有一个查询引擎,可以将元数据占位符转换为一个查询来获取数据等
  • 这将是伟大的,如果有任何预建的工具,为这样的事情,但作为这样,我不知道什么


    编辑:如果您的要求是拥有用户定义的邮件模板,则上述所有内容都是相关的。如果您只有预定义的模板集,那么解决方案可能会简单得多——例如,(正如Yves指出的)使用带有数据绑定表达式的aspx文件来获取html/xml正文,然后将其转换为相关格式。然后,您可以使用来捕获任意数量记录的页面输出。

    您可以使用aspx页面来呈现xml。只需将内容类型设置为正确的格式。请查看:ntemplates.codeplex.com