Succumbed to mu.

· 427 words · 3 minute read

I had some futzing time before writing time this morning, so I succumbed to what I initially thought was just getting OfflineIMAP going so I could get some speed improvements from mutt. Then I noticed lbdb had a mu backend, which would mean address lookup for 20 years of email. And that meant my packages.el file had that ;;(mu4e +org) just sitting there, waiting to be uncommented.

I have a little self-control, so I made myself wait until I had mutt working before trying out mu4e.

And at that point, there was a yak capering about in my living room, and it had to be shaved:

  • mu
  • msmtp
  • mu4e
  • … and isync

isync because I found a bug in OfflineIMAP, which was inevitable given the 20-year-old email corpus I’ve been lugging around between mail servers. It was killing Homebrew’s ability to run offlineimap daemonized, so down that rabbit hole I went to satisfy myself the problem was widespread enough that it was worth considering alternatives, and isync has some good press.

Initial impressions:

  • mu is pretty cool on its own. Very curious to play with my 20 years of email with it.
  • I haven’t really tested mu’s performance under mutt with search. But it is nice having very fast address lookup.
  • msmtp is … fine? I was using built-in SMTP for mutt, msmtp is there for mu4e’s benefit so I just use it for both clients now.
  • isync seems fast enough and works well once the initial mail store is read into maildir.

Tomorrow I’ll move the data and databases over to my desktop

Oh … mu4e.

It is weird, but it’s my kind of weird. Very high concept. Super fast. The “squee” factor is being able to compose mail in org-mode markup, which it turns into multipart mail. If you read the HTML version of your mail, mu4e messages look like rich text. If you read the plaintext version, it applies some plaintext styling:

Heading
═══════

*Bold* and /italics/ and [a link].


[a link] <https://mike.puddingtime.org>

Subheading
──────────

Search is superfast, navigating between folders is keyboard-centric, and because the mail retrieval stuff is happening outside of an Emacs thread, it doesn’t block. I think you can set it up to run isync async inside Emacs, but I just noticed someone’s config a few minutes ago and it’s bedtime.

I am not sure what its future will be. I really like my mutt setup. I wonder if there’s a way to get the org-mode mail composition using Emacs as my mutt mail editor. Science needs to be done.