Как мне обращаться с Microsoft outlook winmail.dat? Есть еще сюрпризы? - PullRequest
7 голосов
/ 03 декабря 2008

Я решил, что мне действительно не нравятся Microsoft и их способы. Пожалуйста, не могли бы вы дать мне указания о том, как обрабатывать winmail.dat в электронных письмах, есть ли библиотека jython или библиотека java, которая позволит мне справиться с этим.

Я только что закончил программу обработки электронной почты, написанную в jython 2.2.1 для java 5. Во время финального нагрузочного теста я понял, что вложения, которые должны были быть в стандартном формате электронной почты MIME, теперь связаны в какой-то взорванной winmail. dat, что означает, что многие клиенты Outlook загрязняют Интернет этим winmail.dat, так что это означает, что мне нужно поддерживать winmail.dat. Таким образом, моя программа не смогла правильно обработать данные.

Пожалуйста, не могли бы вы дать краткое описание того, что такое winmail.dat и почему он здесь, чтобы нас раздражать.

Какие еще сюрпризы можно ожидать !? Что еще я должен остерегаться, пока стандартные письма MIME обслуживаются. Есть ли другие коробки в коробках?

Большое спасибо за ваше время.

Ответы [ 7 ]

6 голосов
/ 03 декабря 2008

читайте здесь:
http://en.wikipedia.org/wiki/TNEF

пакет для разбора здесь:
https://github.com/verdammelt/tnef

5 голосов
/ 29 июня 2012

Тема закрыта, но для будущих целей: Проект Apache POI (Java API для Microsoft Documents) запускает версию (3.8), способную декодировать файлы TNEF. Я проверил это и работал очень хорошо, даже бета-версия. Вы можете найти его здесь .

Для использования с Maven (июнь 2016 г. - может измениться позже, когда его больше нет в блокноте):

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-scratchpad</artifactId>
        <version>3.14</version>
    </dependency>
3 голосов
/ 03 декабря 2008

Пожалуйста, не могли бы вы дать короткую описание того, что такое winmail.dat и почему это здесь, чтобы раздражать нас.

kb138053

Когда конечный пользователь отправляет почту Интернет из Exchange Windows или Клиент Outlook, вложение файла называется Winmail.dat может быть автоматически добавляется в конец сообщение, если клиент получателя не может получать сообщения в Rich Text Формат (RTF). Файл Winmail.dat содержит Exchange Server RTF информация для сообщения, и может отображаются для получателя в виде двоичного файла файл. Это не полезно для не биржи Сервер получателей.

Если вы прочитаете кб, на который я ссылался далее, он дает инструкции о том, как администраторы Exchange могут и должны отключить RTF для Интернета.

1 голос
/ 02 декабря 2018

Существует также пакет Python tnefparse . Должно быть возможно использовать это из Jython.

1 голос
/ 03 декабря 2008

поэтому, когда я вижу это в электронном письме Content-Type: "application / ms-tnef"

Я использую это: http://www.freeutils.net/source/jtnef/

0 голосов
/ 24 мая 2013

Просто комментарий о tinnef: Не все, что называется winmail.dat, является обычным TNEF. Приглашения на собрания, отправленные из Outlook, не отправляются, поэтому большинство декодеров TNEF в этом случае не будут работать. На Mac OSX я обнаружил, что «Letter Opener» - одна из редких программ, которая может открывать такие вложения. Достаточно забавно, они могут также содержать документы RTF.

http://www.restoroot.org/LetterOpenerPro

0 голосов
/ 03 декабря 2008

Мне повезло с wmdecode в Windows. Конечно, это EXE, а не Java-проект. Но это может быть полезно, если вы столкнетесь с файлами WINMAIL.DAT, которые другие решения не смогут декодировать.

...