是否与.NET中的CDOSYS AutoGenerateTextBody等效

时间:2009-10-19 09:46:35

标签: c# .net html email

我正在移植一些使用标准CDOSYS Message对象生成电子邮件的VBScript代码。 Message oject有一个属性AutoGenerateTextBody,当为true时,它会在将HTML分配给TextBody属性时自动创建HTMLBody属性值。因此,在邮件正文中创建典型的text / plain和text / html替代。

然而,.NET似乎缺少此功能。 MailMessage对象确实能够创建替代视图,但似乎没有办法轻松地从HTML内容创建文本正文内容。

我不一定在寻找自动魔术选项,但我确实需要一个解决方案来获取HTML字符串并将其转换为合理的纯文本表示。只是删除所有HTML标记并没有削减它。

现有的.NET框架中是否存在可以执行此操作的工具?

1 个答案:

答案 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;
}