我正在移植一些VBScript代码,它使用标准的CDOSYS Message对象生成电子邮件。Message对象有一个属性AutoGenerateTextBody
,如果该属性为true,则当您将TextBody
分配给HTMLBody
属性时,该对象将自动创建HTML值。因此在消息正文中创建了典型的text/plain和text/html替代。
然而,.NET似乎缺少此功能。MailMessage
对象确实能够创建其他视图,但是似乎没有一种方法可以轻松地从HTML内容创建文本正文内容。
我不一定要寻找一个自动魔术选项,但我确实需要一个解决方案来获取HTML字符串并将其转换为合理的纯文本表示。仅仅删除所有的HTML标记并不能解决问题。
在现有的.NET框架中有没有什么工具可以做到这一点?
发布于 2009-10-19 10:21:33
我不知道.NET框架本身中有什么东西,但您可以使用CDO为您进行转换。无可否认,这感觉像是一个肮脏的黑客,但它的工作!
添加对"Microsoft CDO for Windows 2000 Library“的引用(在"Add Reference”对话框的COM选项卡中),然后就可以了:
public string GetTextBody(string htmlBody)
{
CDO.Message msg = new CDO.Message();
msg.AutoGenerateTextBody = true;
msg.HTMLBody = htmlBody;
return msg.TextBody;
}
https://stackoverflow.com/questions/1587797
复制相似问题