Mairix is a tool for indexing and searching words in locally stored mail. It was written by Richard Curnow and is licensed under the GPL. Mairix comes with most popular GNU/Linux distributions, but it also runs under Windows (with cygwin), Mac OS X and Solaris. The homepage can be found at http://www.rpcurnow.force9.co.uk/mairix/index.html
Though mairix might not be as flexible as other search tools like swish++ or namazu, it has the prime advantage of being incredibly fast. On current systems, it can easily search through headers and message bodies of thousands and thousands of mails in well under a second. Building the database necessary for searching might take a minute or two, but only has to be done once fully. Afterwards, the updates are done incrementally and therefore are really fast, too. Additionally, mairix is very easy to set up.
Mairix presents the search results by either populating a virtual maildir/MH folder with symlinks which point to the “real” message files, or if mbox is used, it creates a new mbox file which contains copies of the found messages.
mairix.el is an interface to the mairix search engine. It allows
you to call mairix with a search term, easily create searches based on
the currently displayed mail, save regularly used searches in your
.emacs for future use and lets you call mairix for updating the
database. It also lets you easily create search queries using graphical
widgets, similar to a customization buffer.
mairix.el is only tested with mbox output together
with RMail, Gnus, or VM as the Emacs mail program. However, it should
also work with Maildir or MH, and it should be very easy to integrate
other Emacs mail programs into
(see Extending mairix.el).
If you use Gnus with maildir or MH, you should really use the native
Gnus back end
nnmairix instead, since it is more tightly
integrated into Gnus and has more features.