muttprint(1) pretty printing of mails with Mutt


muttprint [options]... [-f file]


This manual page documents briefly the Muttprint utility. This manual page was written originally written for the Debian GNU/Linux distribution because the original program did not have a manual page, but now I took over this man page in POD-format.

Muttprint is a utility that formats the printing of Mutt and other mail clients like XFMail or PINE to be like the printing of Netscape Messenger or Kmail. It can print a little penguin on the first page and a headline on every page. Furthermore, it only prints the most important headers, but not the whole plethora of them.

For detailed information about Muttprint look read the User's guide in PDF and HTML format at /usr/share/doc/muttprint/.

Anyway, you have to put the following line in your /etc/Muttrc or ~/.muttrc:

        set print_command="muttprint"

If you want to customize the settings of Muttprint, just copy /usr/share/doc/muttprint/sample-muttprintrc-en to /etc/Muttprintrc or ~/.muttprintrc in reliance if you want change the settings for the whole system or one user.

Muttprint defaults to English language settings if the environment variable LANG is not set. For example in a German environment you should set:

        export LANG=de_DE

This can for instance be done in in your local ~/.bashrc. For a more detailed information about localization of Muttprint read the User's guide.


PLEASE NOTICE: This options override the corresponding settings in ~/.muttprintrc and /etc/Muttprintrc.

And here's the description of all command line options (a descriptions of the settings in the rcfile is included in the sample-muttprintrc-en distributed with Muttprint):

-h, --help
Prints a list of all possible options.
-v, --version
Prints the current version of Muttprint.
Prints out information about the current locale environment and exits.
-f file, --file file
Reads from file instead of STDIN. Useful for some mail clients as XFMail. If file is -, Muttprint reads from STDIN.
-p printername, --printer printername
Uses another printer than the default printer or the setting in the rcfile. You can also print in file using TO_FILE:/path/to/file as printer name. If you would like to have the result in STDOUT, set the printer name to -.
-C print command, --printcommand print command
Sets the command which is used for printing to print command. Thereby the string $PRINTER is replaced by the specified printer name. CUPS support could be activated by CUPS; alternatively you can specify any command that contains the string $CUPS_OPTIONS which is replaced by the options used for CUPS.
-i file, --penguin file
Takes file as picture printed on the right top of the sheet. file must contain the full path. Set file to off if you wouldn't like to print a picture.
-x, --x-face | -nox, --nox-face
Turns on or off the printing of the picture which was transmitted in the X-Face: header. Read the documentation for a detailed explanation.
-t number, --speed number
This is the amount of time in seconds which your printer needs to print one page. It is only necessary if you use duplex printing. Default is 30 (seconds).
-w number, --wait number
Amount of time in seconds which Muttprint should wait between printing odd and even pages for duplex printing.
-F fontname, --font fontname
Here you can choose a nice font family for your printing. Possible are: Latex, Latex-bright, Latin-modern, Times, Utopia, Palatino, Charter, Bookman, CentSchool, Chancery, Helvetica and AvantGarde. If all fonts are available on your system depends of your installed LaTeX-system. Default is Latex.
-H, --headrule | -noH, --noheadrule
Here you can choose whether it should be printed a rule after the top line on pages greater than 2 or not.
-b, --footrule | -nob, --nofootrule
Here you can choose whether it should be printed a rule over the foot line or not.
-S style, --frontstyle style
Choose a style for the printing of the mail headers on the first page: plain, border (default), Border, fbox, shadowbox, ovalbox, Ovalbox, doublebox, grey, greybox. Read the manual for a detailed description of this values.
-a headers, --printed-headers headers
Specify the headers that should be printed. Separate each header with "_". Headers that are embedded in * are printed bold; use / for italic printing. If a header does not exist, it will be omitted. The given order is the same as on the printing.

Two examples:

        Date_To_From_CC_Newsgroups_*Subject*   (default)
-P paperformat, --paper paperformat
Choose your paper format: A4 in most countries (``DIN A4'' in Germany) and letter in the U.S.
-e String, --date String
This option accepts two settings: original and local. If you use original, the date will be printed unchanged as it appears in the mail header, i. e. in English and in the sender's time zone. If set to local, the date will be printed in the local language and in the system's time zone. See the options --date-format and --lang.


        original: Tue, 15 Jan 2002 21:43:49 +0100
        local:    Dienstag, 15. Januar 2002 21:43:49 
                          (German locale)
-E String, --date-format String
This options allows you to change the date format (if you've chosen local before). The argument is a format string according to strftime(3), e. g.:

        "%A, %d. %B %Y %H:%M:%S" (standard in Germany)
        "%a, %d.%m.%y %H:%M"     (shorten form)
        "%Y-%m-%d %H:%M:%S"      (ISO format)
-A String, --addressformat String
With this option you can set how mail addresses are printed. The value original does not change the header. Otherwise you have to specify a format string; following substitutions are done:

        %r              name ("real name")
        %a              mail address
        \n              newline

The default setting is %r <%a>,\n. Moreover, you can emphasize some parts with bold or italic printing. You have to enclose these parts with stars ("*") for bold or with slashes ("/") for italics.


        "/%r/ (%a),"

The quotes are necessary because the string contains spaces. Otherwise the shell splits the string into two parts.

-n String, --verbatimnormal String
This sets the options which are passed to the Verbatim environment that is necessary to print the normal mail text. Detailed explanations are in the user's guide. Some examples:

        fontshape=it           italic fonts
        frame=topline          border above the block
        fontfamily=helvetica   Helvetica font
        fontsize=\Huge         huge font

To combine options, you have to separate each option with a comma, e. g. fontshape=it,fontseries=b.

-V String, --verbatimsig String
Same as --verbatimnormal, but this sets how the signature is printed. If the argument is raw, there is now discrimination between normal text and signature.
-D, --debug | -noD, --nodebug
Choose whether Muttprint writes to a log file /tmp/muttprint.log. Useful to ask some other about help if Muttprint doesn't work.
-B, --background | -noB, --nobackground
After reading from standard input, Muttprint runs in the background. The advantage is that the you can use mail client immediately after start printing. The disadvantage is that error message could not be printed anymore. So use this option only if Muttprint works error-free on your system.
-d, --duplex | -nod, --noduplex
Enables or disables duplex printing. If enabled, Muttprint prints only odd pages and waits some time before it prints even pages.
-2 | -1
Prints two pages on one sheet as shown here:

        |          |          |
        |          |          |
        |    1     |     2    |
        |          |          |
        |          |          |
        |          |          | 

This feature is called papersave mode in the manual and in the rcfile.

-g number, --topmargin number
Sets the top margin in millimeters.
-G number, --bottommargin number
Sets the bottom margin in millimeters.
-j number, --leftmargin number
Sets the left margin in millimeters.
-J number, --rightmargin number
Sets the right margin in millimeters.
-s, --rem_sig | -nos, --norem_sig
Removes the signature (separated by "-- ") in the printing. This is useful for very long signatures. But more and more people (or mail clients) doesn't separate the signature correctly so this feature works not always, see also the next option.
--sig_regexp Regular Expression
Sets the regular expression (in Perl syntax) used to recognize signatures. The default is ^-- $.
-q, --rem_quote | -noq, --norem_quote
Remove the quoted paragraph from the printing.

Muttprint detects the quoting with the same regular expression as Mutt, so it should work.

-z size, --fontsize size
Specifies the font size. Possible values are 10pt, 11pt and 12pt.
-W number, --wrapmargin number
Controls how long the longest line could be. Longer lines are wrapped automatically and the paragraph will be reformatted.
-r file, --rcfile file
Specifies another configuration file, which is read additionally to /etc/Muttprintrc and ~/.muttprintrc. This file overwrites all other settings, including this one which are done by command line parameters. (It makes no sense to include other options despite -f if you use this option.)


The program Muttprint itself.
Helping program for reading the system's default encoding.
System-wide configuration file.
User configuration file.
Temporary files created by Muttprint.
Muttprint manual files in different languages and formats.
Some pictures which can be used for printing on the first page of your mail.
Translation files.


X 2000-03 Bernhard Walle

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Bernhard Walle <[email protected]>


Lukas Ruf <[email protected]>