Manual Page Search Parameters
mu(1) a set of tools to deal with Maildirs and message files, in particular to index and search e-mail messages.
mu-add, mu(1, ADD) add- add one or more messages to the database
mu-find, mu(1, FIND) find - find e-mail messages in the mu database.
mu-mkdir, mu(1, MKDIR) mkdir- create a new Maildir
mu-script, mu(1, SCRIPT) script- show the available mu scripts, and run them.
mu-verify, mu(1, VERIFY) verify- verify message signatures and display information about them
mu-view, mu(1, VIEW) view- display an e-mail message file
mu-cfind, mu(1, CFIND) cfind is the mu command to find contacts in the mu database and export them for use in other programs.
mu-easy, mu(1) easy - a quick introduction to mu
mu-extract, mu(1, EXTRACT) extract is the mu command to display and save message parts (attachments), and open them with other tools.
mu-help, mu(1, HELP) help is a mu command that gives help information about mu commands.
mu-index, mu(1) index - index e-mail messages stored in Maildirs
mu-remove, mu(1, REMOVE) remove is the mu command to remove messages from the database.
mu-server, mu(1) server - the mu backend for the mu4e e-mail client

MU(1) General Commands Manual MU(1)

mu - a set of tools to deal with Maildirs and message files, in particular to index and search e-mail messages.

In alphabetical order:
mu [options] general mu command
mu add add specific messages to the database
mu cfind [options] [<regexp>] find contacts
mu extract [options] <file> [<parts>] [<regexp>] extract attachments and other MIME-parts
mu find [options] <search expression> find messages
mu index [options] (re)index the messages in a Maildir
mu mkdir [options] <dir> [<dirs>] create a new Maildir
mu remove [options] remove specific messages from the database
mu script [options] run a mu (Guile) script
mu server [options] start a server process (for mu4e-internal use)
mu view <file> [<files>] view a specific message

mu is a set of tools for dealing with Maildirs and the e-mail messages in them.
mu's main function is to enable searching of e-mail messages. It does so by periodically scanning a Maildir directory tree and analyzing the e-mail messages found ('indexing'). The results of this analysis are stored in a database, which can then be queried.
In addition to indexing and searching, mu also offers functionality for viewing messages, extracting attachments and creating maildirs, and searching and exporting contact information.
mu can be used from the command line or can be integrated with various e-mail clients.
This manpage gives a general overview of the available commands ( index, find, etc.); each mu command has its own man-page as well.

mu offers the following commands:
index
for indexing (analyzing) the contents of your Maildirs, and storing the information in a database. See mu-index(1)
find
for finding messages in your database, using certain search parameters. See mu-find(1)
cfind
for finding contacts (names + e-mail addresses) matching a certain expression, and exporting the results in various formats for use in other programs. mu-cfind(1)
view
for displaying e-mail messages. See mu-view(1)
mkdir
for creating Maildirs. See mu-mkdir(1)
extract
for extract MIME-parts (such as attachments) from messages. See mu-extract(1)

Some mu sub-commands support colorized output, and do so by default. If you don't want colors, you can use --nocolor.
Currently, mu find, mu view, mu cfind and mu extract support colors.

mu's output is in the current locale, with the exceptions of the output specifically meant for output to UTF8-encoded files. In practice, this means that the output of commands index, view, extract is always encoded according to the current locale.
The same is true for find and cfind, with some exceptions, where the output is always UTF-8, regardless of the locale.
For cfind the exception is --format=bbdb. This is hard-coded to UTF-8, and as such specified in the output-file, so emacs/bbdb can handle it correctly without guessing.
For find the output is encoded according the locale for --format=plain (the default), and UTF-8 for all other formats ( json, sexp, xml).

Commands mu index and find and cfind work with the database, while the other ones work on invidual mail files. Hence, running view, mkdir and extract does not require the mu database.
The various commands are discussed in more detail in their own separate man-pages; here the general options are discussed.

mu offers several general options that apply to all commands, including mu without any command.
--muhome
causes mu to use an alternative directory to store and read its database and logs. By default, mu uses whatever the MU_HOME environment variable is set to; if it is not set, ~/.mu is used.
-d, --debug
makes mu generate extra debug information, useful for debugging the program itself. By default, debug information goes to the log file, ~/.mu/log/mu.log. It can safely be deleted when mu is not running. When running with --debug option, the log file can grow rather quickly. See the note on logging below.
-q, --quiet
causes mu not to output informational messages and progress information to standard output, but only to the log file. Error messages will still be sent to standard error. Note that mu index is much faster with --quiet, so it is recommended you use this option when using mu from scripts etc.
--log-stderr
causes mu to not output log messages to standard error, in addition to sending them to the log file.
-v, --version
prints mu version and copyright information.
-h, --help
lists the various command line options, while --help-index, --help-find and --help-all list only the options for respectively the specified command or for all commands.

The various mu subcommands typically exit with 0 (zero) upon success, and non-zero when some error occurred. The table lists the various error codes.
exit code |  error
----------+-------------------------------------------
     1    |  MU_ERROR
     2    |  MU_ERROR_IN_PARAMETERS
     3    |  MU_ERROR_INTERNAL
     4    |  MU_ERROR_NO_MATCHES
          |
     11   |  MU_ERROR_XAPIAN
          |
     13   |  MU_ERROR_XAPIAN_QUERY
     14   |  MU_ERROR_XAPIAN_DIR_NOT_ACCESSIBLE
     15   |  MU_ERROR_XAPIAN_NOT_UP_TO_DATE
     16   |  MU_ERROR_XAPIAN_MISSING_DATA
     17   |  MU_ERROR_XAPIAN_CORRUPTION
     18   |  MU_ERROR_XAPIAN_CANNOT_GET_WRITELOCK
     30   |  MU_ERROR_GMIME
          |
     50   |  MU_ERROR_CONTACTS
     51   |  MU_ERROR_CONTACTS_CANNOT_RETRIEVE
          |
     70   |  MU_ERROR_FILE
     71   |  MU_ERROR_FILE_INVALID_NAME
     72   |  MU_ERROR_FILE_CANNOT_LINK
     73   |  MU_ERROR_FILE_CANNOT_OPEN
     74   |  MU_ERROR_FILE_CANNOT_READ
     75   |  MU_ERROR_FILE_CANNOT_CREATE
     76   |  MU_ERROR_FILE_CANNOT_MKDIR
     77   |  MU_ERROR_FILE_STAT_FAILED
     78   |  MU_ERROR_FILE_READDIR_FAILED
     79   |  MU_ERROR_FILE_INVALID_SOURCE

Please report bugs if you find them: https://github.com/djcb/mu/issues

Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>

mu-index(1) mu-find(1) mu-cfind(1) mu-mkdir(1) mu-view(1) mu-extract(1) mu-easy(1) mu-bookmarks(5) mu-query(7)
March 2013 User Manuals