Manual Page Search Parameters

MSHOW(1) General Commands Manual MSHOW(1)

render messages and extract MIME parts

mshow [-h headers] [-A mimetypes] [-nqrBFHLN] [msgs ...]

mshow -x msg parts ...

mshow -O msg parts ...

mshow -t msgs ...

mshow -R msg


mshow renders the specified msgs to the standard output, by default. (See mmsg(7) for the message argument syntax.) If used interactively and no msgs are specified, mshow displays the current message using colorization and a pager.

The options are as follows:

Display the headers in the colon-separated list headers, instead of the default headers ‘from:subject:to:cc:date:reply-to:’.
Define ‘mixed/alternative’ preference. mimetypes is a colon-separated list of MIME types which will be preferred, in the order given, when rendering ‘mixed/alternative’ parts. If no MIME type matches, the first MIME part will be rendered.

Defaults to ‘text/plain:text/html’.

Don't update the current message link.
Don't render the body, stop after header output.
Don't render the body, print raw body. This may be dangerous to use on a tty.
Decode encoded-words also in MIME parameters in direct violation of RFC 2047. This is useful if the attachment names look like ‘=?UTF-8?Q?stuff?=’.
Don't apply filters to MIME parts.
Don't decode the headers, print all raw headers. This may be dangerous to use on a tty.
Don't filter the headers, print all decoded headers.
Don't show MIME structure markers.
Switch to extraction mode: extract parts from the message msg into files. parts can be specified by number, filename or fnmatch(3) pattern. If no parts are specified, extracts all attachments with a filename.
Like -x but write to standard output. This may be dangerous to use on a tty. When used together with -r, the whole part is raw, that is, un-decoded and including MIME part headers.
Switch to list mode: list all MIME parts of each msg.
Render the text parts from msg, suitable for use in a reply.

mshow, by default, decodes all ‘text/*’, ‘message/rfc822’ and ‘multipart/*’ parts, and re-encodes them into UTF-8 if necessary.

Other filters can be specified in the file ${MBLAZE:-$HOME/.mblaze}/filter (or via MAILFILTER), in the format:

type/subtype: command
type: command

mshow will then spawn a pipe to command, write the MIME part to standard input and display the output. The environment variable PIPE_CHARSET will be set to the charset declared in the MIME part, if known.

Filters can communicate with mshow using their exit status:

The output is printed as plain text.
The output is printed raw, without escaping.
Behave as if the filter never ran.
The output is an RFC 5322 message that should be rendered again.
65 to 80
Render the n-64th part of this text/multipart part.
All other exit statuses are regarded as errors.

Path to an alternative filter file.
If non-empty, mshow will not spawn a colorization filter.
Any non-empty value of the environment variable MBLAZE_PAGER is used instead of the standard pagination program, specified in PAGER. When empty or set to ‘cat’, no pager is spawned.

The mshow utility exits 0 on success, and >0 if an error occurs.


Leah Neukirchen <>

mshow is in the public domain.

To the extent possible under law, the creator of this work has waived all copyright and related or neighboring rights to this work.

August 24, 2018 x86_64