正确的,在很短的,我们基本上已经有一个系统,在地方HTML内容的电子邮件产生的。它是不完美的,但它的工作。

从这,我们需要能够得出一个明文替换为电子邮件。我想立即跳上,创造一个RegEx条的 <*> 标签的消息-但是后来我意识到 这将是没有好,因为我们需要一些格式的信息(第线断裂、图像等)。

注: 我确定与实际发送邮件和设立替代的景色等,这是 只有得到明文从HTML。

因此,我思考的一些想法。将后一个作为一个答案看什么你们觉得,但是认为我会打开它在地板上。:)

如果你需要任何更多的澄清,然后请留言。

多谢了,

Rob

有帮助吗?

解决方案

我的解决方案

好的,所以在这里啊!我想到了个解决我的问题和它就像一个魅力!

现在,这里有一些目标,我想提出:

  • 所有的内容的电子邮件应该留在ASPX页(作为HTML内容目前)。
  • 我没有想要的客户代码做任何事情比其他说"SendMail("PageX.aspx")".
  • 我不想写太多的代码。
  • 我想保持该码作为在语义上正确的,因为可能的(没有 真的 疯狂的屁股黑客!).

该过程

所以,这是我结束了这样做:

  • 去主页的电子邮件。创建一个ASP.NET 多视角的控制.这种控制将有两个意见-HTML和明文。
  • 在每个来看,我加入内容占位的实际内容。
  • 我然后抓住了所有的现有ASPX代码(如头和脚注),并坚持它在HTML图。所有的,DocType和一切。这个不会导致VS发牢骚一点点。 忽略它。
  • 然后我的课程中加入新的内容,明文认为最好的复制HTML图在一个明的环境。
  • 然后我加入了一些代码为主 Page_Load, 检查的查询参数"类型",这可能是"html"或"文本"。它落在了以"文字"如果没有存在。依赖的价值, 交换看法。
  • 然后我去到网页的内容,并添加新占位于明文等同,并添加案文作为必需的。
  • 让我的生活更加容易,然后我载我的 SendMail 法得到响应要求的网页,传递"type=html"和"type=text"并创建 AlternateView's为合适。

在摘要

因此,在短:

  • 的看法独立实际的"意见"的内容(HTML和文本)。
  • 主页自动开关的图基于一个查询.
  • 网页的内容是负责他们的观点看看。

完成工作!

如果这还不清楚然后请留言。我想要创造的博客上张贴这有些时候更详细的说明。

其他提示

我的想法

根据HTML内容创建页面并遍历控制树。然后,您可以从控件中选择文本并根据需要处理不同的控件(例如,对于图像使用ALT文本,对于HR等使用“_____”)。

您可以确保HTML邮件采用XHTML格式,以便您可以使用标准XML工具轻松解析它,然后创建自己的DOM序列化程序,输出纯文本。覆盖一般的XHTML仍然需要做很多工作,但对于计划在电子邮件中使用的有限子集,它可以工作。

或者,如果您不介意炮轰另一个程序,可以使用-dump切换到lynx Web浏览器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top