Какво е TNEF файл?
Transport Neutral Encapsulation Format (TNEF) е собственост на Microsoft за капсулиране на имейл прикачени файлове на базата на интерфейс за програмиране на приложения за съобщения (MAPI). Microsoft Outlook и Microsoft Exchange Server изцяло поддържат TNEF, докато по-късно декодират TNEF в MAPI и показват форматираните имейли. Прикачен файл към имейл с TNEF кодиране има MIME тип MS-TNEF и се съхранява като winmail/win.dat. Прикаченият файл в winmail .dat капсулира следната информация:
Съобщение | OLE обекти | Функции на Outlook |
---|---|---|
Оригинални прикачени файлове към съобщения Оригинално форматирана версия шрифтове, размери на текста и цветове на текста | вградени снимки вградени документи на Office | персонализирани форми бутони за гласуване заявки за среща |
Други имейл услуги, които не поддържат TNEF, представят обикновен текст за съобщения във формат TNEF. Outlook вгражда богат формат на съобщението в TNEF файлове (OLE) или определени функции на Outlook (формуляри, бутони за анкети и заявки за конференция). Санкционирането на изрично TNEF кодиране в рамките на имейл клиента на Outlook не е възможно, но изборът на RTF формат за изпращане на имейл имплицитно улеснява TNEF кодирането.
Файлов формат TNEF
Алгоритъмът за данни TNEF установява плоска структура от богати йерархични свойства на съобщенията. След това тези сплескани структури се използват за представяне на сериен поток от данни, съставен от определени свойства.
В някои ситуации, когато свойствата се срещат в групи или имат множество стойности, потокът може да включва преброяване и подпълване, за да наложи специфични подравнявания на данни. Отличителна ситуация, при която използването на този алгоритъм е изгодно, е в неподдържана среда за съобщения. В такива среди богато свойство на съобщение се кодира в сериен поток от данни от TNEF Writer. Освен това свойствата, които не принадлежат към основния TNEF, могат да бъдат капсулирани по време на предаване. След това тези капсулирани свойства стават достъпни чрез декодиране чрез TNEF, за да се гарантира наличността на всички свойства на оригиналното съобщение за клиентското приложение.
В TNEF всички цифрови типове данни са с малък ред и техният размер е по-голям от един байт. Боравенето с тези числови стойности на платформи без нисък ред изисква да се извършат подходящите трансформации, за да се получат правилни стойности. Стойностите на низовете са представени във формат на Augmented Backus-Naur Form (ABNF) съгласно спецификациите [RFC5234]. Когато низът завършва с нулев знак, той също се включва; например "worker@specimen.com" %x00
.
TNEF атрибути и правила за обработка
Потокът от данни в TNEF започва с номер на наследена версия, подпис, стойност на примитивен ключ и атрибут, представляващ кодова страница. Тази кодова страница се генерира, когато енкодерът записва ANSI атрибути и свойства. След това потокът се превърна в поредица от атрибути, в които атрибутите на съобщението бяха подредени първо и след това последвани от атрибути на прикачени файлове. Различни характеристики на съобщения и прикачени файлове се съдържат в специални атрибути като attMsgProps, attAttachment и attRecipTable. Атрибутите, които се появяват в TNEF потока, съдържат структурата, свойствата на съобщението и преобразуванията, необходими за ангажирането им със свойствата на съобщението. Всеки атрибут се състои от ID, размер и данни на атрибута, контролна сума и ниво според приложението му.
Връзка с протоколи и други алгоритми
Системите, които имат лош механизъм за показване на богат формат на съобщения, естествено се нуждаят от алгоритъм за данни TNEF за транспорт. Използвайки медийния тип ms-TNEF, изходът на алгоритъма се състои от прикачен файл (winmail.dat) и основна част на MIME, посочена в [RFC2045]. Тялото на съобщението с обикновен текст се предава с помощта на UUENCODE съгласно спецификацията [MSDN-UAF] и това тяло на съобщението или еквивалентен метод се декодира в края на получателя. Освен това TNEF може да предава данни за съобщения, използвайки различни интернет протоколи като SMTP, POP3, IMAP4 и тези, които интегрират MIME според стандарта RFC2045.
Изявление за приложимост
В допълнение към простото предаване на съобщения, първоначалното приложение на TNEF трябваше да бъде създадено за използване на класове съобщения и поддръжка на допълнителни функции, които нямат оригинална поддръжка в транспортния протокол. Това приложение беше допълнително усъвършенствано за предаване на богати свойства на съобщения и именувани свойства, които съвременните клиенти за съобщения използват днес. За съответствие с оригиналната реализация, оригиналният синтаксис на атрибута се поддържа и специален атрибут държи новите свойства на съобщението отделно.
Препратки
- Transport Neutral Encapsulation Format
- [Имейл адреси и адресни книги в Exchange Server](https://learn.microsoft.com/en-us/exchange/email-addresses-and-address-books/email-addresses-and-address-books?view# exchserver-2019)
- [[MS-OXTNEF]: Алгоритъм за данни за транспортен неутрален формат за капсулиране (TNEF) (https://msdn.microsoft.com/en-us/library/cc425498(v#exchg.80).aspx)