2016-07-22 19:36:46 +00:00
|
|
|
.Dd July 22, 2016
|
|
|
|
.Dt MSHOW 1
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm mshow
|
|
|
|
.Nd render mail and extract MIME parts
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
|
|
|
.Op Fl h Ar headers
|
2016-07-29 15:07:25 +00:00
|
|
|
.Op Fl A Ar mimetypes
|
2016-07-22 19:36:46 +00:00
|
|
|
.Op Fl qrHL
|
|
|
|
.Op Ar msgs\ ...
|
|
|
|
.Nm
|
|
|
|
.Fl x Ar msg
|
|
|
|
.Ar parts\ ...
|
|
|
|
.Nm
|
|
|
|
.Fl O Ar msg
|
|
|
|
.Ar parts\ ...
|
|
|
|
.Nm
|
|
|
|
.Fl t
|
|
|
|
.Ar msgs\ ...
|
|
|
|
.Nm
|
|
|
|
.Fl R
|
|
|
|
.Ar msg
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
By default,
|
|
|
|
.Nm
|
|
|
|
renders the passed messages to standard output.
|
|
|
|
See
|
2016-07-22 19:43:03 +00:00
|
|
|
.Xr mmsg 7
|
2016-07-22 19:36:46 +00:00
|
|
|
for the message argument syntax.
|
|
|
|
If used interactively and no messages are given,
|
|
|
|
displays the current message.
|
|
|
|
.Pp
|
|
|
|
The options are as follows:
|
|
|
|
.Bl -tag -width Ds
|
|
|
|
.It Fl h Ar headers
|
|
|
|
Display the headers in the colon-separated list
|
|
|
|
.Ar headers
|
|
|
|
instead of the default headers
|
|
|
|
.Sq Li from:subject:to:cc:date: .
|
2016-07-29 15:07:25 +00:00
|
|
|
.It Fl A Ar mimetypes
|
|
|
|
Define
|
|
|
|
.Sq Li "mixed/alternative"
|
|
|
|
preference.
|
|
|
|
.Ar mimetypes
|
|
|
|
is a colon-separated list of
|
|
|
|
MIME types, the ones appearing first will
|
|
|
|
be preferred when rendering
|
|
|
|
.Sq Li "mixed/alternative"
|
|
|
|
parts.
|
|
|
|
If no MIME type matches, the first MIME part will be rendered.
|
|
|
|
.Pp
|
|
|
|
Defaults to
|
|
|
|
.Sq Li "text/plain:text/html" .
|
2016-07-22 19:36:46 +00:00
|
|
|
.It Fl q
|
|
|
|
Don't render the body, stop after header output.
|
|
|
|
.It Fl r
|
|
|
|
Don't render the body, print raw body.
|
|
|
|
.It Fl H
|
|
|
|
Don't decode the headers, print all raw headers.
|
|
|
|
.It Fl L
|
|
|
|
Don't filter the headers, print all decoded headers.
|
|
|
|
.It Fl x Ar msg
|
|
|
|
Switch to extraction mode: extract
|
|
|
|
.Ar parts
|
|
|
|
from the message
|
|
|
|
.Ar msg
|
|
|
|
into files.
|
|
|
|
.Ar parts
|
2016-07-22 22:46:48 +00:00
|
|
|
can be specified by number, file name or
|
|
|
|
.Xr fnmatch 3
|
|
|
|
pattern.
|
2016-07-22 19:36:46 +00:00
|
|
|
.It Fl O Ar msg
|
2016-07-22 22:46:48 +00:00
|
|
|
Like
|
|
|
|
.Fl x
|
2016-08-06 17:30:45 +00:00
|
|
|
but write to standard output.
|
|
|
|
When used together with
|
2016-08-06 18:10:33 +00:00
|
|
|
.Fl r ,
|
|
|
|
the whole part is raw,
|
|
|
|
that is,
|
|
|
|
un-decoded and including MIME part headers.
|
2016-07-22 19:36:46 +00:00
|
|
|
.It Fl t
|
|
|
|
Switch to list mode: list all MIME parts
|
|
|
|
of each
|
|
|
|
.Ar msg .
|
|
|
|
.It Fl R Ar msg
|
|
|
|
Render the text parts from
|
|
|
|
.Ar msg ,
|
|
|
|
suitable for use in a reply.
|
|
|
|
.El
|
|
|
|
.Sh FILTERS
|
|
|
|
.Nm
|
|
|
|
by default decodes all
|
|
|
|
.Sq Li text/* ,
|
|
|
|
.Sq Li message/rfc822 ,
|
|
|
|
.Sq Li multipart/*
|
|
|
|
parts,
|
|
|
|
and re-encodes them into UTF-8 if necessary.
|
|
|
|
.Pp
|
|
|
|
Other filters can be specified in the file
|
2016-09-01 23:50:20 +00:00
|
|
|
.Pa ${MBLAZE:-$HOME/.mblaze}/filter
|
2016-07-22 19:36:46 +00:00
|
|
|
in the format
|
|
|
|
.D1 Ar type/subtype Ns Li \&: Ar command
|
|
|
|
or
|
|
|
|
.D1 Ar type Ns Li \&: Ar command
|
|
|
|
.Nm
|
|
|
|
will then spawn a pipe to
|
|
|
|
.Ar command ,
|
|
|
|
write the MIME part
|
|
|
|
and display the output.
|
|
|
|
The environment variable
|
|
|
|
.Ev PIPE_CHARSET
|
|
|
|
will be set to the charset declared in the MIME part,
|
|
|
|
if known.
|
|
|
|
.Sh EXIT STATUS
|
|
|
|
.Ex -std
|
|
|
|
.Sh SEE ALSO
|
2016-07-22 19:43:03 +00:00
|
|
|
.Xr mmsg 7
|
2016-07-22 19:36:46 +00:00
|
|
|
.Sh AUTHORS
|
2017-01-21 16:17:12 +00:00
|
|
|
.An Leah Neukirchen Aq Mt leah@vuxu.org
|
2016-07-22 19:36:46 +00:00
|
|
|
.Sh LICENSE
|
|
|
|
.Nm
|
|
|
|
is in the public domain.
|
|
|
|
.Pp
|
|
|
|
To the extent possible under law,
|
|
|
|
the creator of this work
|
|
|
|
has waived all copyright and related or
|
|
|
|
neighboring rights to this work.
|
|
|
|
.Pp
|
|
|
|
.Lk http://creativecommons.org/publicdomain/zero/1.0/
|