mshow
—
render messages and extract MIME parts
mshow |
[-h headers]
[-A mimetypes]
[-nqrBFHLN ]
[msgs ...] |
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:
-h
headers
- Display the headers in the colon-separated list
headers, instead of the default headers
‘
from:subject:to:cc:date:reply-to:
’.
-A
mimetypes
- Define ‘
multipart/alternative
’
preference. mimetypes is a colon-separated list of
MIME types which will be preferred, in the order given, when rendering
‘multipart/alternative
’ parts. If no
MIME type matches, the last MIME part will be rendered.
When mimetypes is
‘all
’,
mshow
will render all parts of a
‘multipart/alternative
’ part.
Defaults to
‘text/plain:text/html
’.
-n
- Don't update the current message link.
-q
- Don't render the body, stop after header output.
-r
- Don't render the body, print raw body. This may be dangerous to use on a
tty.
-B
- 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?=
’.
-F
- Don't apply filters to MIME parts.
-H
- Don't decode the headers, print all raw headers. This may be dangerous to
use on a tty.
-L
- Don't filter the headers, print all decoded headers.
-N
- Don't show MIME structure markers.
-x
msg
- 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.
-O
msg
- 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.
-t
- Switch to list mode: list all MIME parts of each
msg.
-R
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
or
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:
- 0
- The output is printed as plain text.
- 62
- The output is printed raw, without escaping.
- 63
- Behave as if the filter never ran.
- 64
- 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.
MAILFILTER
- Path to an alternative filter file.
MBLAZE_NOCOLOR
- 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.