分析的明文的电子邮件从HTML内容(ASP.NET)
题
正确的,在很短的,我们基本上已经有一个系统,在地方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浏览器。
不隶属于 StackOverflow