---
name: "mshow"
section: "1"
platform: "linux"
package: "mblaze"
version: "1.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mshow"
---

# mshow(1)

render messages and extract MIME parts

## NAME

**mshow** – render messages and extract MIME parts

## SYNOPSIS

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

**mshow** **-x** *msg* *parts ...*

**mshow** **-O** *msg* *parts ...*

**mshow** **-t** *msgs ...*

**mshow** **-R** *msg*

## DESCRIPTION

**mshow** renders the specified *msgs* to the standard output, by default.( See [mmsg(7)](/mmsg/7.md) 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 ‘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’.

- **-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)](/fnmatch/3.md) 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.

## FILTERS

**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.

## ENVIRONMENT

- MAILFILTER

  Path to an alternative *filter* file.

- MBLAZE\_NOCOLOR

  If non-empty, **mshow** will not spawn a colorization filter.

- MBLAZE\_PAGER

  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.

## EXIT STATUS

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

## SEE ALSO

[mmsg(7)](/mmsg/7.md)

## AUTHORS

Leah Neukirchen ⟨*leah@vuxu.org*⟩

## LICENSE

**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.

**http://creativecommons.org/publicdomain/zero/1.0/**
