#+TITLE:mu [[https://github.com/djcb/mu/blob/master/COPYING][https://img.shields.io/github/license/djcb/mu?logo=gnu&.svg]] [[https://en.cppreference.com][https://img.shields.io/badge/Made%20with-C/CPP-1f425f?logo=c&.svg]] [[https://img.shields.io/github/v/release/djcb/mu][https://img.shields.io/github/v/release/djcb/mu.svg]] [[https://github.com/djcb/mu/graphs/contributors][https://img.shields.io/github/contributors/djcb/mu.svg]] [[https://github.com/djcb/mu/issues][https://img.shields.io/github/issues/djcb/mu.svg]] [[https://github.com/djcb/mu/issues?q=is%3Aissue+is%3Aopen+label%3Arfe][https://img.shields.io/github/issues/djcb/mu/rfe?color=008b8b.svg]] [[https://github.com/djcb/mu/pull/new][https://img.shields.io/badge/PRs-welcome-brightgreen.svg]]\\ [[https://www.gnu.org/software/emacs/][https://img.shields.io/badge/Emacs-26.3-922793?logo=gnu-emacs&logoColor=b39ddb&.svg]] [[https://www.djcbsoftware.nl/code/mu/mu4e/Installation.html#Dependencies-for-Debian_002fUbuntu][https://img.shields.io/badge/Platform-Linux-2e8b57?logo=linux&.svg]] [[https://www.djcbsoftware.nl/code/mu/mu4e/Installation.html#Building-from-a-release-tarball-1][https://img.shields.io/badge/Platform-FreeBSD-8b3a3a?logo=freebsd&logoColor=c32136&.svg]] [[https://formulae.brew.sh/formula/mu#default][https://img.shields.io/badge/Platform-macOS-101010?logo=apple&logoColor=ffffff&.svg]] Welcome to ~mu~! Latest development news: [[NEWS.org]]. With the enormous amounts of e-mail many people gather and the importance of e-mail message in our work-flows, it's essential to quickly deal with all that mail - in particular, to instantly find that one important e-mail you need right now, and quickly file away message for later use. ~mu~ is a set of command-line tools for dealing with e-mail messages stored in the Maildir-format. ~mu~'s goal is to help you to quickly find the messages you need, view them, extract attachments, create new maildirs, and so on. After indexing your messages into a [[http://www.xapian.org][Xapian]]-database, you can search them through a query language. You can use various message fields or words in the body text to find the right messages. Built on top of ~mu~ are some extensions (included in this package): - ~mu4e~: a full-featured e-mail client that runs inside emacs - ~mu-scm~: bindings for the Guile/Scheme programming language (version 3.0 and later) ~mu~ is written in C++; ~mu4e~ is written in ~elisp~ and ~mu-scm~ is written in a mix of C++ and Scheme. ~mu~ is available in many Linux distributions (e.g. Debian/Ubuntu and Fedora) under the name ~maildir-utils~; apparently because they don't like short names. All of the code is distributed under the terms of the [[https://www.gnu.org/licenses/gpl-3.0.en.html][GNU General Public License version 3]] (or higher). * Versions *mu* attempts to balance development speed and stability. Active development takes place on ~master~ (the 1.14 series), and we maintain ~release/1.12~ as well. When possible, fixes (but not features) from ~master~ are back-ported to ~release/1.12~. Every few months, we release a stable version (e.g. ~1.14.0~); development then continues in ~master~, with ~-pre~ (e.g. ~1.14.1-pre1~): ~-pre~-suffixed versions refer to the current _development_ code, until it is released (and then looses its ~-pre~ suffix, i.e., becomes the ~1.14.1~ release). Hence, if you want to track active development, use ~master~; if you want to avoid any changes except bug-fixes, use a 1.12 [[https://github.com/djcb/mu/releases/][release]]; otherwise, track ~master~. Overall, we try to avoid incompatible changes, but sometimes this is necessary, for example to update the versions of required libraries * Installation Note: building from source is an /advanced/ subject, especially if something goes wrong. The below simple examples are a start, but all tools involved have many options; there are differences between systems, versions etc. So if this is all a bit daunting we recommend to wait for someone else to build it for you, such as a Linux distribution. Many have packages available. ** Requirements To be able to build ~mu~, ensure you have: - a C++20 compiler (~gcc~ and ~clang~ are known to work) - development packages for /Xapian/ and /GMime/ and /GLib/ (see ~meson.build~ for the versions) - basic tools such as ~make~, ~sed~, ~grep~ - ~meson~ For ~mu4e~, you also need ~emacs~, version 28 or later. Note, support for Windows is very much _experimental_, that is, it works for some people, but we can't really support it due to lack of the specific expertise. Help is welcome! ** Building #+begin_example $ git clone https://github.com/djcb/mu.git $ cd mu #+end_example ~mu~ uses ~meson~ for building, so you can use that directly, and all the usual commands apply. You can also use it _indirectly_ through the provided ~Makefile~, which provides a number of useful targets. For instance, using the ~Makefile~, you could install ~mu~ using: #+begin_example $ ./autogen.sh && make $ sudo make install #+end_example You can of course also run ~meson~ directly (see the ~meson~ documentation for more details): #+begin_example $ meson setup build $ meson compile -C build $ meson install -C build #+end_example ** Contributing Contributions are welcome! See the Github issue list and [[IDEAS.org]].