mu0


mu is a collection of utilties for indexing and searching Maildirs

mu

E-mail is the 'flow' in the work flow of many people. Consequently, one spends a lot of time searching for old e-mails, to dig up some important piece of information. With people having tens of thousands of e-mails (or more), this is becoming harder and harder. How to find that one e-mail in an ever-growing haystack?

Enter mu.

'mu' is a set of command-line tools for Linux/Unix that enable you to quickly find the e-mails you are looking for, assuming that you store your e-mails in Maildirs (if you don't know what 'Maildirs' are, you are probably not using them).

Starting with version 0.9, mu also provides a simple GUI called 'mug'. The homepage has a screen-shot. There's also an emacs-based e-mail client ("mu4e"), and bindings for the Guile (Scheme) programming language.

how does it work?

(Also, see cheatsheet)

First there is mu index which fills a database with information about all your e-mails; this may take a couple of minutes the first time you do it, but after that it's a lot faster.

$ mu index

It tries to pick reasonable defaults, but you can of course specify your own options. You can run mu index periodically to keep your database up-to-date.

After building the database, it's easy to search for messages from the command-line, using the GUI ('mug') or integrated with your mail-client. Some command-line examples:

get all mails about birds and bees (and similar words):

$ mu find bird bee

if you want to find messages with either one of those, you can do:

$ mu find 'bird OR bee'

get all Smith's mails with 'capybara' in the subject line:

$ mu find from:smith subject:capybara

get the mails in the archive folder where Mary was Cc'd:

$ mu find maildir:/archive cc:mary

Starting with version 0.9, you can search for date ranges, message flags and message priority as well:

get mails with attachments from the last two weeks:

$ mu find flag:attach date:2w..now

get all important mails in March and April 2010:

$ mu find prio:high date:2010-03..2010-04

Searches are case-insensitive as well as 'accent insensitive' (version 0.9 and up); so angStroM will match Ångström.

Project Information

  • License: GNU GPL v3
  • 23 stars
  • git-based source control

Labels:
mail maildir c commandline xapian gmime wanderlust mutt