2015-10-07 09:34:05 +02:00
|
|
|
---
|
|
|
|
layout: default
|
|
|
|
permalink: code/mu/cheatsheet.html
|
|
|
|
---
|
|
|
|
|
|
|
|
# Mu Cheatsheet
|
|
|
|
|
|
|
|
Here are some tips for using `mu`. If you want to know more, please
|
|
|
|
refer to the `mu` man pages. For a quick warm-up, there's also the
|
|
|
|
`mu-easy` man-page.
|
|
|
|
|
|
|
|
## Indexing your mail
|
|
|
|
``` $ mu index```
|
|
|
|
|
|
|
|
If `mu` did not guess the right Maildir, you can set it explicitly:
|
|
|
|
|
|
|
|
``` $ mu index --maildir=~/MyMaildir```
|
|
|
|
|
|
|
|
### Excluding directories from indexing
|
|
|
|
|
|
|
|
If you want to exclude certain directories from being indexed (for example,
|
|
|
|
directories with spam-messages), put a file called `.noindex` in the directory
|
2020-05-12 23:56:55 +02:00
|
|
|
to exclude, and it will be ignored when indexing (including its children)
|
2015-10-07 09:34:05 +02:00
|
|
|
|
|
|
|
## Finding messages
|
|
|
|
|
|
|
|
After you have indexed your messages, you can search them. Here are some
|
|
|
|
examples. Also note the `--threads` argument to get a threaded display of
|
|
|
|
the messages, and `--color` to get colors (both since 0.9.7).
|
|
|
|
|
|
|
|
### messages about Helsinki (in message body, subject, sender, ...)
|
|
|
|
``` $ mu find Helsinki```
|
|
|
|
|
|
|
|
### messages to Jack with subject jellyfish containing the word tumbleweed
|
|
|
|
``` $ mu find to:Jack subject:jellyfish tumbleweed```
|
|
|
|
|
|
|
|
### messages between 2 kilobytes and a 2Mb, written in December 2009 with an attachment from Bill
|
|
|
|
``` $ mu find size:2k..2m date:20091201..20093112 flag:attach from:bill```
|
|
|
|
|
|
|
|
### signed messages about apples *OR* oranges
|
|
|
|
``` $ mu find flag:signed apples OR oranges```
|
|
|
|
|
|
|
|
### messages about yoghurt in the Sent Items folder (note the quoting):
|
|
|
|
``` $ mu find maildir:'/Sent Items' yoghurt```
|
|
|
|
|
|
|
|
|
|
|
|
### unread messages about things starting with 'soc' (soccer, society, socrates, ...)
|
|
|
|
``` $ mu find 'subject:soc*' flag:unread```
|
|
|
|
|
|
|
|
Note, the '*' only works at the /end/ of a search term, and you need to
|
|
|
|
quote it or the shell will interpret it before `mu` sees it.
|
|
|
|
(searching using the '*' wildcard is available since mu 0.9.6)
|
|
|
|
|
|
|
|
### finding messages with images as attachment
|
|
|
|
``` $ mu find 'mime:image/*' ```
|
|
|
|
(since mu version 0.9.8)
|
|
|
|
|
|
|
|
### finding messages with 'milk' in one of its text parts (such as text-based attachments):
|
|
|
|
``` $ mu find embed:milk ```
|
|
|
|
(since mu version 0.9.8)
|
|
|
|
|
|
|
|
### finding /all/ your messages
|
|
|
|
``` $ mu find ""```
|
|
|
|
(since mu version 0.9.7)
|
|
|
|
|
|
|
|
## Finding contacts
|
|
|
|
|
|
|
|
Contacts (names + email addresses) are cached separately, and can be
|
|
|
|
searched with `mu cfind` (after your messages have been indexed):
|
|
|
|
|
|
|
|
### all contacts with 'john' in either name or e-mail address
|
|
|
|
``` $ mu cfind john```
|
|
|
|
|
|
|
|
`mu cfind` takes a regular expression for matching.
|
|
|
|
|
|
|
|
You can export the contact information to a number of formats for use
|
|
|
|
in e-mail clients. For example:
|
|
|
|
|
|
|
|
### export /all/ your contacts to the `mutt` addressbook format
|
|
|
|
``` $ mu cfind --format=mutt-alias```
|
|
|
|
|
|
|
|
Other formats are: `plain`, `mutt-ab`, `wl` (Wanderlust), `org-contact`,
|
|
|
|
`bbdb` and `csv` (comma-separated values).
|
|
|
|
|
|
|
|
## Retrieving attachments from messages
|
|
|
|
|
|
|
|
You can retrieve attachments from messages using `mu extract`, which takes a
|
|
|
|
message file as an argument. Without any other arguments, it displays the
|
|
|
|
MIME-parts of the message. You can then get specific attachments:
|
|
|
|
|
|
|
|
``` $ mu extract --parts=3,4 my-msg-file```
|
|
|
|
|
|
|
|
will get you parts 3 and 4. You can also extract files based on their name:
|
|
|
|
|
|
|
|
``` $ mu extract my-msg-file '.*\.jpg'```
|
|
|
|
|
|
|
|
The second argument is a case-insensitive regular expression, and the command
|
|
|
|
will extract any files matching the pattern -- in the example, all
|
|
|
|
`.jpg`-files.
|
|
|
|
|
|
|
|
Do not confuse the '.*' /regular expression/ in `mu extract` (and `mu
|
|
|
|
cfind`) with the '*' /wildcard/ in `mu find`.
|
|
|
|
|
|
|
|
## Getting more colorful output
|
|
|
|
|
|
|
|
Some of the `mu` commands, such as `mu find`, `mu cfind` and `mu view`
|
|
|
|
support colorized output. By default this is turned off, but you can enable
|
|
|
|
it with `--color`, or setting the `MU_COLORS` environment variable to
|
|
|
|
non-empty.
|
|
|
|
|
|
|
|
``` $ mu find --color capibara```
|
|
|
|
|
|
|
|
(since `mu` version 0.9.6)
|
|
|
|
|
|
|
|
## Integration with mail clients
|
|
|
|
|
|
|
|
The `mu-find` man page contains examples for `mutt` and `wanderlust`. And
|
|
|
|
since version 0.9.8, `mu` includes its own e-mail client for `emacs`, `mu4e`.
|
|
|
|
|
|
|
|
## Viewing specific messages
|
|
|
|
|
|
|
|
You can view message contents with `mu view`; it does not use the database
|
|
|
|
and simply takes a message file as it's argument:
|
|
|
|
|
|
|
|
``` $ mu view ~/Maildir/inbox/cur/message24```
|
|
|
|
|
|
|
|
You can also use `--color` to get colorized output, and `--summary` to get a
|
|
|
|
summary of the message contents instead of the whole thing.
|
|
|
|
|
|
|
|
## Further processing of matched messages
|
|
|
|
|
|
|
|
If you need to process the results of your queries with some other program,
|
|
|
|
you can return the results as a list of absolute paths to the messages found:
|
|
|
|
|
|
|
|
For example, to get the number of lines in all your messages mentioning
|
|
|
|
/banana/, you could use something like:
|
|
|
|
|
|
|
|
``` $ mu find --exec='wc -l'```
|
|
|
|
|
|
|
|
Note that we use 'l', so the returned message paths will be quoted. This is
|
|
|
|
useful if you have maildirs with spaces in their names.
|
|
|
|
|
|
|
|
For further processing, also the ~--format`(xml|sexp)~ can be useful. For
|
|
|
|
example,
|
|
|
|
|
|
|
|
``` $ mu find --format=xml pancake```
|
|
|
|
|
|
|
|
will give you a list of pancake-related messages in XML-format.
|