Index and search emails from a local Maildir.
Initialize the email database, optionally specifying the Maildir directory and email addresses
Index new emails
Find messages using a specific keyword (in message body, subject, sender, ...)
Find messages to Alice with subject jellyfish containing the words apples or oranges
Find unread messages about words starting with soc (the * only works at the end of the search term) in the Sent Items folder
Find messages from Sam with attached images, between 2 KiB and 2 MiB, written in 2021
List contacts with Bob in either name or email address
In alphabetical order:
mu [options] general mu command.
mu add add specific messages to the database. See mu-add(1)
mu cfind [options] [<regexp>] find contacts. See mu-cfind(1)
mu extract [options] <file> [<parts>] [<regexp>] extract attachments and other MIME-parts. See mu-extract(1)
mu find [options] <search expression> find messages. See mu-find(1)
mu help [command] get help for some command. See mu-help(1)
mu index [options] (re)index the messages in a Maildir. See mu-index(1)
mu info [options] show information about the mu database mu-info(1)
mu init [options] initialize the mu database mu-init(1)
mu mkdir [options] <dir> [<dirs>] create a new Maildir. See mu-mkdir(1)
mu remove [options] remove specific messages from the database. See mu-remove(1)
mu script [options] run a mu (Guile) script. See mu-script(1)
mu server [options] start a server process (for mu4e-internal use). See mu-server(1)
mu view <file> [<files>] view a specific message. See mu-view(1)
mu is a set of tools for dealing with Maildirs and the e-mail messages in them.
mu's main purpose 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 (this is called '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.
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 individual 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.
use an alternative directory to store and read the database, write the logs, etc. By default, mu uses XDG Base Directory Specification (e.g. on Linux by default ~/.cache/mu, ~/.config/mu). Earlier versions of mu defaulted to ~/.mu, which now requires --muhome=~/.mu.
- -d, --debug
makes mu generate extra debug information, useful for debugging the program itself. By default, debug information goes to the log file, ~/.cache/mu/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.
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.
The various mu subcommands typically exit with 0 (zero) upon success, and non-zero when some error occurred.
Please report bugs if you find them: https://github.com/djcb/mu/issues
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) https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
Dirk-Jan C. Binnema <email@example.com>