TNEF(1)

NAME
tnef - decode Microsoft's Transport Neutral Encapsulation Format

SYNOPSIS
tnef [options] [FILE]

tnef {--help | --version}

DESCRIPTION
This 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.

OPTIONS

-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. For each file in the datafile the file name and full path will be printed. If the verbose option is also provided then this option acts as the --list-with-mime-types option and also prints the file length (in bytes) and the date of the file before the other data.

--list-with-mime-types
    same as list option but also prints MIME type and content ID of each file after filename and file path.

-w,  --interactive,  --confirmation
    ask for confirmation for every action.

--overwrite
    when extracting attachments, overwrite existing files.

--number-backups
    when extracting attachments, if file FOO will be overwritten, create FOO.n instead.

--use-paths
    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. By default tnef only extracts the attached files and not the message body. 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.

--debug
    enable debug output. (This will produce a very large amount of output.)

KNOWN LIMITATIONS
tnef ignores the OEMCodePage data in the data file. It assumes Unicode data.

EXAMPLE
The following example demonstrates typical tnef usage with a popular Unix mail client called "mutt".

  Step 1 — Configure ~/.mailcap
Mutt 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:

    application/ms-tnef

is encountered, use this command to decode it:

    tnef -w %s

The latter command string invokes tnef, specifying both the -w option and the attachment (created as a temporary file) as command line arguments.

  Step 2 — Add The Filter To $PATH
Mutt can't invoke tnef if the filter isn't accessible via $PATH.

  Step 3 — Test Mutt
Use 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

SEE ALSO
metamail(1), mailcap(4), mutt(1), other email clients.

AUTHOR
Mark Simpson <@PACKAGE_BUGREPORT@>

REPORTING BUGS
Please report issues via this project's issue tracker on GitHub: https://github.com/verdammelt/tnef/issues

OTHER REFERENCES
This web page:

https://www.dwheeler.com/essays/microsoft-outlook-tnef.html

describes how to configure Microsoft email clients so that the TNEF format is disabled when sending messages to non-TNEF-compatible clients.