tnef (1) - Linux Man Pages
tnef: decode Microsoft's Transport Neutral Encapsulation Format
tnef - decode Microsoft's Transport Neutral Encapsulation Format
SYNOPSIStnef [options] [FILE]
DESCRIPTIONThis manual page documents the tnef filter. tnef decodes e-mail attachments encoded in Microsoft's Transport Neutral Encapsulation Format (hereafter, TNEF), which "wraps" Microsoft e-mail attachments.
Unfortunately, these "wrapped" attachments are inaccessible to any e-mail client that does not understand TNEF. Fortunately, the tnef filter can be used by any MIME-aware client to unpack these attachments.
- -f FILE, --file=FILE
- use FILE as input ('-' denotes stdin). When this option is omitted, tnef reads data from stdin.
- -C DIR, --directory=DIR
- unpack file attachments into DIR.
- -x SIZE, --maxsize=SIZE
- limit maximum size of extracted archive (bytes)
- -t, --list
- list attached files, do not extract.
- -w, --interactive, --confirmation
- ask for confirmation for every action.
- when extracting attachments, overwrite existing files.
- when extracting attachments, if file FOO will be overwritten, create FOO.n instead.
- honor file pathnames specified in the TNEF attachment. For security reasons, paths to attached files are ignored by default.
- --save-body FILE
- Save message body data found in the TNEF data. There can be up to three message bodies in the file, plain text, HTML encoded, and RTF encoded. Which are saved is specified by the --body-pref option. By default the message bodies are written to a file named message with an extension based upon the type (txt, html, rtf).
- --body-pref PREF
- Specifies which of the possibly three message body formats will be saved. PREF can be up to three characters long and each character must be one of 'r', 'h', or 't' specifying RTF, HTML or text. The order is the order that the data will be checked, the first type found will be saved. If PREF is the special value of 'all' then any and all message body data found will be saved. The default is 'rht'.
- --save-rtf FILE
- DEPRECATED. Equivalent to --save-body=FILE --body-pref=r
- -h, --help
- show usage message.
- -V, --version
- display version and copyright.
- -v, --verbose
- produce verbose output.
- enable debug output.
EXAMPLEThe following example demonstrates typical tnef usage with a popular Unix mail client called "mutt".
Step 1 --- Configure ~/.mailcapMutt can't use tnef for its intended purpose until an appropriate content type definition exists in ~/.mailcap . Here's a sample definition:
- application/ms-tnef; tnef -w %s
This mailcap entry says that whenever the MIME content type:
is encountered, use this command to decode it:
- tnef -w %s
Step 2 --- Add The Filter To $PATHMutt can't invoke tnef if the filter isn't accessible via $PATH.
Step 3 --- Test MuttUse mutt to read a message that includes a TNEF attachment. Mutt will note that an attachment of type "application/ms-tnef is unsupported".
Press the "v" key to open mutt's "view attachment" menu.
Move the cursor over the TNEF attachment and press the enter key to "view" the attachment. Mutt will launch tnef and invoke it using the command line syntax specified in ~/.mailcap (step 1). tnef then decodes all file(s) included in the TNEF attachment, prompting for confirmation prior to creating an individual file (refer to -w option above). -w is useful here because it gives the end user a chance to view the filename(s) included in the mail message.
Note that Mutt's attachment menu also supports a pipe option, which permits the user to pipe attachments to an external filter (how convenient). So, to list the contents of a TNEF attachment prior to decoding it, press the "|" key and enter this command:
- tnef -t
REPORTING BUGSReport bugs to Mark Simpson <verdammelt [at] gmail.com>
OTHER REFERENCESThis web page:
describes how to configure Microsoft email clients so that the TNEF format is disabled when sending messages to non-TNEF-compatible clients.