代码之家  ›  专栏  ›  技术社区  ›  AnthonyWJones

是否与.NET中的CDOSYS AutoGenerateTextBody等价

  •  1
  • AnthonyWJones  · 技术社区  · 15 年前

    我正在移植一些VBScript代码,这些代码使用标准的CDOSYS消息对象生成电子邮件。消息对象有一个属性 AutoGenerateTextBody 当为真时,它将自动创建 TextBody 将HTML分配给 HTMLBody 财产。因此,在消息体中创建典型的文本/纯文本和文本/html替代方案。

    但是.NET似乎缺少此函数。这个 MailMessage

    我不一定要寻找一个自动魔术选项,但我需要一个解决方案,采取什么是HTML字符串,并将其转换为合理的纯文本表示。仅仅删除所有的HTML标记并不能减少它。

    在现有.NETFramework的某个地方有工具可以做到这一点吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   LukeH    15 年前

    我不知道.NET框架本身有什么,但是您可以使用CDO为您进行转换。诚然,这感觉有点肮脏,但做的工作!

    添加对“Microsoft CDO for Windows 2000库”的引用(在“添加引用”对话框的“COM”选项卡中),然后就可以:

    public string GetTextBody(string htmlBody)
    {
        CDO.Message msg = new CDO.Message();
        msg.AutoGenerateTextBody = true;
        msg.HTMLBody = htmlBody;
    
        return msg.TextBody;
    }