Member 11561197 Ответов: 0

Как извлечь HTML из outlook msg


Я пытаюсь извлечь html-тело из файла outlook .msg с помощью библиотеки типов outlook и отобразить его на элементе управления веб-браузером в c#. На моей машине разработки он работает совершенно нормально, однако на клиентской машине часть текста из письма отображается в виде случайных китайских иероглифов.
Ниже приведен код для извлечения & show html из электронной почты :

using OL=Microsoft.Office.Interop.Outlook;
            OL.Application olApp = new OL.Application();
            OL.MailItem mail = olApp.Session.OpenSharedItem(txtFile.Text) as OL.MailItem;
            webBrowser1.DocumentText = mail.HTMLBody;


На моем компьютере часть письма отображается следующим образом:
> then the "Click Here" link.


Но на клиентской машине тот же текст выглядит так :
>  and then the 揅lick Here?link.


Что я уже пробовал:

**До сих пор эта проблема возникает только в том случае, если в тексте есть какие-либо двойные кавычки**, но я не могу подтвердить, связано ли это только с двойными кавычками.
У меня есть та же версия outlook, что и у клиентской машины (Outlook 2016).
Я попытался отключить функцию смарт-котировок outlook на клиентском компьютере, но это не имело никакого значения.
Я подозреваю, что некоторые языковые настройки могут быть причиной этой проблемы.
Я попробовал использовать некоторые сторонние библиотеки, такие как эта
Значение перспективы MSG-файл в C#
но это также дает неверные результаты.
Я не могу использовать библиотеку выкупа из-за проблем с затратами.

Любая помощь или руководство будут очень признательны!!

Richard Deeming

Похоже на проблему с кодировкой. Попробуйте установить кодировку UTF-8 после установки текста документа:

webBrowser1.Document.Encoding = "utf-8";

0 Ответов