我正在移植一些使用标准CDOSYS Message对象生成电子邮件的VBScript代码。 Message oject有一个属性AutoGenerateTextBody
,当为true时,它会在将HTML分配给TextBody
属性时自动创建HTMLBody
属性值。因此,在邮件正文中创建典型的text / plain和text / html替代。
然而,.NET似乎缺少此功能。 MailMessage
对象确实能够创建替代视图,但似乎没有办法轻松地从HTML内容创建文本正文内容。
我不一定在寻找自动魔术选项,但我确实需要一个解决方案来获取HTML字符串并将其转换为合理的纯文本表示。只是删除所有HTML标记并没有削减它。
现有的.NET框架中是否存在可以执行此操作的工具?
答案 0 :(得分:0)
我不知道.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;
}