Mu4e
Description | Email client |
---|---|
Author | Dirk-Jan C. Binnema |
Maintainer | Dirk-Jan C. Binnema |
Source | https://github.com/djcb/mu |
Part of Emacs | no |
Mu4e is designed to enable super-efficient handling of e-mail; searching, reading, replying, moving, deleting. It sits on top of your Maildir (which you update with e.g. offlineimap or fetchmail).
Under the hood, mu4e is fully search-based, similar to programs like notmuch, md and sup. However, mu4e's user-interface is quite different. mu4e's mail handling (deleting, moving etc.) is inspired by Wanderlust [another emacs-based e-mail client, famously hard to get working], mutt and dired.
mu4e tries to keep all the 'state' in your maildirs, so you can easily switch between clients, synchronize over IMAP, backup with rsync and so on. If you delete the database, you won't lose any information.
Features
Features include:
- Fully search-based: there are no folders, only queries
- UI optimized for speed with quick key strokes for common actions
- Fully documented, with example configurations (like for gmail)
- Asynchronous: heavy actions never block emacs
- Write rich-text e-mails using org-mode (experimental)
- Address auto-completion based on your messages – no need for managing address books
- Extendable in many places using custom actions
For all the details, please see the (very good) manual, and see the screenshots !
The messages/header split view, with speedbar support:
Extensions
Complete contacts with Helm
There's a very nice and efficient solution to complete contacts in this blog post.
Desktop and modline notifications
Miss the "You have 2 unread messages" desktop notification ? Get it with mu4e-alert. It also displays the total of unread messages on the modline.
Push changes to your mail server automatically
Usually the user is in charge of sending updates about the changes made in his mail box to his mail server. You can actually automate this when you close mu4e using this code:
(defadvice mu4e-quit (after mu4e-close-and-push activate) (start-process "pushmail" nil "pushmail.sh"))