Transport Neutral Encapsulation Format

Transport Neutral Encapsulation Format or TNEF is a proprietary email attachment format used by Microsoft Outlook and Microsoft Exchange Server. An attached file with TNEF encoding is most often named winmail.dat or win.dat, and has a MIME type of Application/MS-TNEF. The official (IANA) media type, however, is application/vnd.ms-tnef.[1]

Overview

[edit]

Some TNEF files contain information used only by Outlook to generate a richly formatted view of the message, such as embedded (OLE) documents or Outlook-specific features such as forms, voting buttons, and meeting requests. Other TNEF files may contain files which have been attached to an e-mail message.

Within the Outlook e-mail client, TNEF encoding cannot be explicitly enabled or disabled (except via a registry setting[2]). Selecting RTF as the format for sending an e-mail implicitly enables TNEF encoding, using it instead of the more common and widely compatible MIME standard. When sending plain text or HTML format messages, some versions of Outlook (apparently including Outlook 2000[3]) prefer MIME, but may still use TNEF under some circumstances (for example, if an Outlook feature requires it).[3][4]

TNEF attachments can contain security-sensitive information such as user login name and file paths,[3][4] from which access controls could possibly be inferred.

Exchange Server

[edit]

Native-mode Microsoft Exchange 2000 organizations will, in some circumstances, send entire messages as TNEF-encoded raw binary independent of what is advertised by the receiving SMTP server. As documented in Microsoft KBA #323483,[5] this technique is not RFC-compliant because these messages have the following characteristics:

  • They may include non-ASCII characters outside the 0–127 US-ASCII range.
  • The lines in these messages are often too long for transport via SMTP.
  • They do not follow the CRLF.CRLF message termination semantics as specified in RFC 821.

Internal communications between Exchange Servers (2000 and later) over SMTP encode the message in S/TNEF (Summary TNEF) format. The conversion between the format needed by the end client on the Internet is performed on the last Hub Transport server before final delivery, and when the Hub Transport role of an Exchange Server is about to deliver the message to a mailbox role server, the message is converted to MAPI format for storage.

S/TNEF differs from TNEF in that it is 8-bit (not 7-bit for TNEF) and does not contain a plain-text portion.

Decoding

[edit]

Programs to decode and extract files from TNEF-encoded attachments are available on many platforms.

Multiplatform

[edit]
  • Geary (email client) supports TNEF since version 3.33.1
  • TNEF Parse – Claws Mail plugin[6]
  • LookOut[7] or its successor LookOut (fix version)[8]Mozilla Thunderbird extension. See also:
    • LookOut project page at MozDev.org[9]
    • Bug 77811 – Inline viewer for Microsoft proprietary mail formats, a 21-plus-year-old bug report at the Mozilla Bugzilla[10]
  • Wireshark – Version 1.2 and later can open and dissect winmail.dat files, although it is not useful as a mail reader
  • KTNEF – LGPL TNEF extractor by KDE[11]

Unix-like or POSIX command-line

[edit]
  • yTNEF – GPL TNEF extractor from the POSIX command-line, designed specifically for reading winmail.dat[12]
  • TNEF – GPL TNEF extractor from the POSIX command-line[13]

Mac

[edit]
  • Klammer – Shareware for Mac OS X, available on App store; also supports MSG files[14]
  • MailRaider Pro - Application for Mac OS X, available on App store; also supports MSG files[15]
  • Winmail Viewer – Shareware Winmail.dat viewer for Mac OS X 10.6 or later, available on App Store, support open Microsoft Outlook (1997, 2000, 2003, 2007, 2010). Winmail.dat files, can extract and save Winmail.dat attachments[16]
  • TNEF's Enough – Freeware decoder for Mac OS 9 and Mac OS X[17]
  • tnefDD – Free GPL decoder with drag-and-drop functionality for Mac OS X[18]
  • TNEF – MacPorts version of the TNEF command-line decoder Mac OS X[19]
  • Letter Opener (previously known as OMiC) – Shareware, plugin for Apple Mail[20]

iPhone and iPad

[edit]
  • Winmail File Viewer – Paid universal app for the iPhone, iPod Touch and iPad to open winmail.dat attachments with option to save and share extracted files[21]
  • WinMail.dat Viewer - Browse Outlook winmail.dat files – Paid universal app for the iPhone, iPod Touch and iPad to open winmail.dat attachments with option to view, save and share extracted files[22]
  • Winmail File Viewer+ – Paid universal app for the iPhone, iPod Touch and iPad to open winmail.dat attachments with option to save and share extracted files[23]
  • Klammer - open EML, MSG and Winmail.dat files – Paid universal app for the iPhone, iPod Touch and iPad with in-app purchase to provide functionality[24]
  • WinDat Opener – Paid app for the iPhone, iPod Touch and iPad[25]
  • Letter Opener – Free Universal app for the iPhone, iPod Touch and iPad with in-app purchase to provide functionality[26]
  • TNEF's Enough - Free Universal app for iPhone, iPod Touch, and iPad[27]

Microsoft Windows

[edit]
  • Winmail.dat Reader – Freeware easy-to-use decoder[28]
  • Winmail Opener – Freeware decoder[29]
  • tnef2win – Freeware decoder[30]
  • Free File Viewer – Freeware decoder[31]
  • fentun – Freeware decoder[32]
  • Winmail.dat Viewer – modern Windows 8 app (non-free)[33]

Android

[edit]
  • TNEF Extractor – A free and open source (GPLv3) Android app[34]
  • Opener – A free Android app[35]
  • Reader - Free Android app also available[28]

Online

[edit]
  • winmail.dat extractor and document converter – Free, in modern, responsive theme[36]
  • Reader Online – The online version of the Winmail.dat Reader (free)[37]
  • tud.at service – Web service and GPL licensed PHP script for reading attachments in winmail.dat files[38]
  • www.winmaildat.com – Another online winmail.dat extractor which allows to upload up to 5 MB[39]
  • the-computer-site.com – converts winmail.dat file to a zip file[40]

Software libraries

[edit]
  • JTNEF – GPL Java TNEF package[41]
  • POI-HMEF – Java library of the Apache POI project[42]
  • MVCOM – Commercial COM component to parse TNEF[43]
  • Convert::TNEF – TNEF library written in Perl[44]
  • tnefparse library – TNEF access library written in Python, licensed under LGPL[45]
  • Aspose Email – Commercial Java and .NET library that can parse and extract TNEF data[46]
  • EAGetMail Component – Commercial .NET and ActiveX library that can parse and extract TNEF data[47]
  • node-tnef - NodeJS command line tool/library that can parse and extract TNEF data[48]
  • libytnef – GPL TNEF extractor library written in C[12]
  • MimeKit – A .NET MIME creation and parser library with support for TNEF[49]
  • TNEF Decoder - A PHP Library to extract TNEF[50]

References

[edit]
  1. ^ "Some Microsoft Media Types for registration". IANA. Retrieved October 25, 2010.
  2. ^ "When you use Outlook 2007 to send an e-mail message, the recipient of the message sees an attachment that is called Winmail.dat". Microsoft. July 29, 2009. Retrieved March 3, 2011.
  3. ^ a b c "Description of Transport Neutral Encapsulation Format (TNEF) in Outlook 2000". Microsoft. Archived from the original on September 4, 2009. Retrieved September 11, 2009.
  4. ^ a b "How e-mail message formats affect Internet e-mails in Outlook". Microsoft. March 30, 2005. Retrieved October 13, 2006.
  5. ^ "Microsoft KBA #323483".
  6. ^ "Claws Mail - Plugins". www.Claws-Mail.org. Retrieved December 23, 2017.
  7. ^ "LookOut". addons.Mozilla.org. September 30, 2011. Retrieved December 23, 2017.
  8. ^ "LookOut (fix version)". addons.Mozilla.org. Retrieved December 23, 2017.
  9. ^ "mozdev.org - lookout: index". lookout.MozDev.org. Archived from the original on December 24, 2017. Retrieved December 23, 2017.
  10. ^ "77811 - Inline viewer for Microsoft proprietary mail formats (ms-tnef, etc.) ["winmail.dat"]". bugzilla.Mozilla.org. Retrieved December 23, 2017.
  11. ^ "KTnef". KDE Gitlab.
  12. ^ a b Yeraze (November 21, 2017). "ytnef: Yeraze's TNEF Stream Reader - for winmail.dat files". Retrieved December 23, 2017 – via GitHub.
  13. ^ Simpson, Mark (December 8, 2017). "tnef". Retrieved December 23, 2017 – via GitHub.
  14. ^ "Klammer on the Mac App Store". Mac App Store. Retrieved December 23, 2017.
  15. ^ "MailRaider Pro on the Mac App Store". Mac App Store. Retrieved December 23, 2017.
  16. ^ "Winmail Viewer - Open and Read Winmail.dat Files on the Mac App Store". Mac App Store. Retrieved December 23, 2017.
  17. ^ "Josh Jacob - TNEF's Enough". www.JoshJacob.com. Retrieved December 23, 2017.
  18. ^ "tnefDD". SourceForge.net. Retrieved December 23, 2017.
  19. ^ ([email protected]), Jim Mock. "The MacPorts Project -- Available Ports". www.MacPorts.org. Retrieved December 23, 2017.
  20. ^ "Letter Opener". Restoroot.org. Archived from the original on November 2, 2006. Retrieved December 23, 2017.
  21. ^ "Winmail File Viewer on the App Store". App Store. Retrieved January 8, 2018.
  22. ^ "WinMail.dat Viewer for OS 10 on the App Store". App Store. July 11, 2017. Retrieved January 8, 2018.
  23. ^ "Winmail Viewer for iPhone and iPad on the App Store". App Store. July 12, 2017. Retrieved January 8, 2018.
  24. ^ "Klammer on the App Store". App Store. Retrieved January 8, 2018.
  25. ^ "WinDat Opener on the App Store". App Store. Retrieved January 8, 2018.
  26. ^ "Connecting to the iTunes Store". iTunes.apple.com. Retrieved January 8, 2018.
  27. ^ "TNEF's Enough". App Store. February 2, 2020. Retrieved March 17, 2020.
  28. ^ a b "Winmail.dat Reader - Open winmail.dat files (Freeware)". www.Winmail-dat.com. Retrieved December 23, 2017.
  29. ^ "Winmail Opener - freeware utility for opening winmail.dat and other TNEF-encoded files". www.Eolsoft.com. Retrieved December 23, 2017.
  30. ^ Petersen, Frank. "tnef(TO)win, convert mstnef-attachments". www.Petersen.de. Retrieved December 23, 2017.
  31. ^ "PDF, DOC, DOCX, DAT, BIN, PHP Viewer - FreeFileViewer". www.FreeFileViewer.com. Retrieved December 23, 2017.
  32. ^ "Welcome to Fentun's Home Page". www.Fentun.com. Archived from the original on November 26, 2004. Retrieved December 23, 2017.
  33. ^ "Get Winmail.dat Viewer - Letter Opener - Microsoft Store". Microsoft Store. Retrieved December 23, 2017.
  34. ^ "Tools / TNEF Extractor · GitLab". Retrieved June 22, 2020.
  35. ^ "Winmail.dat Opener". Google.com. Retrieved December 23, 2017.
  36. ^ grapph.com, Milos Wikarski. "Free Online Document Converter". doc2any.Grapph.com. Retrieved December 23, 2017.
  37. ^ "Online version - Winmail.dat Reader". www.Winmail-dat.com. Retrieved December 23, 2017.
  38. ^ "MS-TNEF degenerator". tud.at. Retrieved December 23, 2017.
  39. ^ "www.winmaildat.com". Winmaildat.com. Retrieved December 23, 2017.
  40. ^ "the-computer-site.com - The Computer Site - Extract Attachments from WINMAIL.DAT files". The-Computer-Site.com. Retrieved December 23, 2017.
  41. ^ "JTNEF - Java TNEF package". www.FreeUtils.net. Retrieved January 8, 2018.
  42. ^ "POI-HMEF - Java API To Access Microsoft Transport Neutral Encoding Files (TNEF)". poi.Apache.org. Archived from the original on January 14, 2018. Retrieved January 8, 2018.
  43. ^ "MVCOM - MAPI-Free COM component for Outlook .pst, .msg, .ost". www.Encryptomatic.com. Retrieved January 8, 2018.
  44. ^ "Convert::TNEF - Perl module to read TNEF files - metacpan.org". Metacpan.org. Retrieved January 8, 2018.
  45. ^ "tnefparse: a TNEF decoding library written in python, without external dependencies". October 18, 2017. Retrieved January 8, 2018 – via GitHub.
  46. ^ Sheikh, Farrukh. "Outlook Alternative - Email APIs for .NET Java Android SharePoint Cloud". www.Aspose.com. Archived from the original on February 27, 2017. Retrieved January 8, 2018.
  47. ^ "IMAP4 Component, POP3 Component, Email Parser for C#, VB, C++, Delphi - Retrieve Email, Parse Email, Decrypt Email, S/MIME, Parse winmail.dat, TNEF, Parse Outlook Msg, SSL, TLS". www.EmailArchitect.net. Retrieved January 8, 2018.
  48. ^ Murphy, John. "node-tnef". Retrieved August 31, 2018.
  49. ^ "MimeKit.Tnef Namespace". www.mimekit.net. Retrieved December 22, 2022.
  50. ^ "github.com/QualityUnit/TNEFDecoder". GitHub.
[edit]