В среде Windows вы можете сделать это напрямую с помощью компонента CDO.Message COM, который предоставляет интерфейс IMessage
Я не знаю деталей импорта COM-объектов в C #, поэтому приведу краткий пример синтаксиса, подобного C:
IMsgObj = CreateObject("CDO.Message") // create the object
IMsgObj.CreateMHTMLBody("http://www.example.com/") // convert the URL to MHTML
IMsgObj.GetStream().SaveToFile("output.mht") // save it to a file
CLSID компонентов CDO.Message: {CD000001-8B95-11D1-82DB-00C04FB1625D}
Имейте в виду, что этот компонент предназначен для генерации сообщений электронной почты (расширение файла .eml, а не .mht), что означает, что файлы JavaScript не включены. В противном случае они примерно эквивалентны.