2016-07-07 11 views
0

Я пытаюсь преобразовать из .msg в формат .eml с использованием Aspose.Email for .NET. Довольно тривиальный:.msg в .eml файл с использованием Aspose.Email отсутствует Данные календаря

var msg = MapiMessage.FromFile(@"example.msg"); 
MailMessageInterpretor mmi = MailMessageInterpretorFactory.Instance.GetIntepretor(msg.MessageClass); 
MailMessage eml = mmi.Interpret(msg); 
eml.Save(@"example.eml"); 

Если его календарь пригласить, я вижу его в файле .msg, а также в файле .eml, как показано ниже (.msg сверху, .eml снизу):

enter image description here

он также включает в себя файл встреча .ics внутри .eml производит:

Content-Type: text/calendar; Метод = «Запрос»; Name = "meeting.ics"; кодировка = "UTF-8" Content-Transfer-Encoding: base64

Однако проблема в том, что если отмена встреча вместо приглашения:

enter image description here

В результате .eml, как вы можете видеть, не включает в себя подробности собрания, а также итоговые .eml содержат любые следы собрания .ics (который есть в .msg). Я могу разбор .msg для него легко:

MapiCalendar calendar = (MapiCalendar)msg.ToMapiMessageItem(); 

Почему не основывает-64, кодирующим .ics для аннулирования в результате .eml? Я делаю что-то неправильно? Является ли это ошибкой Aspose? Это нормальное поведение? Что тут происходит?

ответ

1

Не могли бы вы поделиться с нами своими файлами ввода/вывода на Aspose.Email forum? Нам нужно понять, какие шаги вы предпринимаете, что подводит к этой проблеме и будет способствовать дальнейшему участию в форуме. Если мы обнаружим, что это ошибка с API, мы будем регистрировать ее для расследования нашей командой Product.

Я работаю с Aspose как Developer Evangelist.

Edit:

Пожалуйста, попробуйте mmi.InterpretAsTnef(msg). Хотя он должен работать и с Interpret, но это похоже на API. Мы исследуем проблему в нашем конце, однако вы можете использовать InterpretAsTnef. Вы можете зарегистрироваться на www.Aspose.com бесплатно. Наша базовая поддержка бесплатна для всех, будь то платные или неоплачиваемые пользователи.

+0

Извините, но у меня нет учетной записи на форуме. Однако шаги воспроизведения довольно просты. ** 1. ** Отправьте кому-нибудь запрос на собрание на Exchange. ** 2. ** Отправите это лицо на отмену собрания на бирже. ** 3. ** Попросите этого человека сохранить сообщение об аннулировании собрания (дважды щелкните по электронной почте в разделе «Обмен», перейдите в «Файл», затем «Сохранить как» и сохраните его в формате «.msg»). ** 4. ** Используйте мой код выше в файле .msg, чтобы преобразовать его в '.eml', и вы увидите, что он не сохраняет отмену календаря (протестировал это в последней версии * Aspose.Email * из * NuGet *). – Alexandru

+1

Пожалуйста, попробуйте InterpretAsTnef.Хотя он должен работать и с Interpret, но это похоже на API. Мы исследуем проблему в нашем конце, однако вы можете использовать InterpretAsTnef. Вы можете зарегистрироваться на www.Aspose.com бесплатно. Наша базовая поддержка бесплатна для всех, будь то платные или неоплачиваемые пользователи. –

+0

InterpretAsTnef, похоже, работает, спасибо. – Alexandru