Проблемы с преобразованием .msg в eml

Я использую стороннюю dll, которая конвертирует почту Outlook .msg в eml. Эта dll работает, как и ожидалось, для большинства электронных писем, которые я пытаюсь преобразовать. Но недавно я нашел письмо, которое не кодируется и не декодируется должным образом. Это письмо с некоторыми французскими акцентами и другими символами (но обычно все французские письма до сих пор хорошо конвертировались).

В результате .msg, преобразованный в eml, дает "?" вместо некоторых акцентов, а также в теле сообщения у меня есть несколько вхождений "\f0".

Я отправил то же сообщение .msg стороннему разработчику, который написал инструмент преобразования. Он загрузил ту же dll и смоделировал ту же последовательность преобразования, что и я, и получил другой результат (правильно преобразованный документ).

using System;
using Independentsoft.Msg;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            Independentsoft.Msg.Message msgMessage = new Independentsoft.Msg.Message("c:\\test\\test.msg");

            Independentsoft.Email.Mime.Message mimeMessage = msgMessage.ConvertToMimeMessage();

            mimeMessage.Save("c:\\test\\test.eml");
        }
    }
}

Как это вообще отладить? Как это возможно, что он отлично работает на машине разработчика с использованием той же dll, а не на моей или клиентской?


person Undisputed007    schedule 11.07.2016    source источник


Ответы (1)


Убедитесь, что текущие локали одинаковы на обеих машинах.

Также попробуйте (в качестве теста) запустить конвертер Redemption (см. утилита стороннего производителя для преобразования файлов Outlook MSG в файлы EML).

person Dmitry Streblechenko    schedule 11.07.2016