mu4e with helm

Finally a decent mail client =)

TL;DR => try mu4e.

When one has to choose a mail client, all sorts of complicated criteria start to raise.
Some known GUI alternatives:
– Evolution
– Thunderbird
– Claws
– Balsa
– Sylpheed
– Kmail
– …

now let’s continue with text-interface
– Alpine – Linus one btw😉
– mutt – probably a lot of dev’s use this one.

& this is not over with Emacs ones :
– gnus
– rmail
– mew
– wanderlust…

OK, in this mua jungle i’ve found two recent excellent companions : one for the desktop & one for Emacs.
On the gui side, Geary brought a lot of cool stuff. Please look at some shots/blogs. Its a modern linux mail client.

Now, on the dark side, i’ve discovered mu4e. Finally!

. mu4e does not get your mail itself, you sync it locally, then it indexes it and you work from there
. reading / search / etc is done inside a dedicated emacs major mode
. composing is another major mode (inheriting from standard gnus composer)

. so, a little bit of set up to get your mails locally *and correctly*. some setup on mu4e emacs
. no (obvious) folders management tool (rename/reorganize/…)
. you probably want to use mu git version😉

. correct speed to update [given indexing is instant, that’s either offlineimap or msync time…]
. really great speed to jump around (folders / bookmarked searches)
. terrific speed to search (folder / from / size / date / or really whatever)
. terrific speed to handle several mails at once, a-la dired.
. open attachment / links correctly fast
. native is txt view, & you can handle html really easily
. good native contacts management – no set up for this.
. quite easy to use, small learning curve, very small if you use emacs dired
. emacs extensibility… which contributes to the good user feeling


You can easily ask an email to be converted per w3m.
mu4e-html2text-command « w3m -dump -T text/html »

But you can also view in browser…
(add-to-list ‘mu4e-view-actions
‘(« ViewInBrowser » . mu4e-action-view-in-browser) t)

I prefer to kill buffer after sending a message.
message-kill-buffer-on-exit t

Don’t forget to say to Emacs to use mu4e to both read-mail and compose-message (but generally you do compose from mu4e).


I’m an old-school gui-retarded guy who uses imap folders. Yup. (Which might explain why mutt does not meet my needs.)
So, mu4e properly allows you to jump around from one folder to another, and default completion is ido
=> you have some sort of « browsing ».

You can « refile » mail to a default folder.
You can easily have helm to jump from to one folder (& move mails to).

(defun pyl-mu4e-read-maildir (prompt maildirs predicate require-match initial-input)
(helm-comp-read prompt maildirs
:name prompt
:must-match t))

Then choose this func.

(setq  mu4e-completing-read-function ‘pyl-helm-mu-compl-read)

Actually this is the quickest possible way to handle folders.
mu4e just missed folder management! well, I guess I’ll post about this.
– Create a new folder : run ‘mu mkdir’ from an async command (curiously mu4e does not provide this one!)
– Delete a folder : This depends, but with offline imap this tends to s*!#. Actually you need to both remove the local folder + remove the remote one! what if you have 2 offlineimap??? ouch.

I’ll look at this before « renaming » and « moving » a folder properly…

Cet article, publié dans emacs, est tagué , . Ajoutez ce permalien à vos favoris.

Un commentaire pour mu4e with helm

  1. Arthur dit :

    Nice article, thanks! Have you had any chance of looking into folder management with mu4e yet?

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:


Vous commentez à l'aide de votre compte Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s