Giving Spark Mail a Try

I love email. In spite of its faults, email is the most reliable way to communicate with anyone, anywhere, anytime. It’s been this way for decades. It works.

Email is also a pain in the ass. Email puts anyone at all in charge of my todo list. Clients forward me 30-message email threads with only “Thoughts?”. Spam. Reply-all nonsense. You know the list. We’ve been bitching about email for years. People keep trying to “fix” it or replace it. Good luck with both of those. I’m perfectly comfortable with email. I’ve gotten pretty good at it.

That said, I love to play with different approaches to email. In the past couple of years I’ve switched between native Gmail web, Apple Mail, Mailmate, Mutt, and Mu4e.

Today I’ve been trying Spark to see if any of the modern approaches to email are useful. First impressions are positive. We’ll see how “smart” the smart inbox is. I forward all of my email accounts to Fastmail so multiple-account features aren’t useful to me. I like “snooze”. Not sure about “Pin” vs “Flag”. It’s new and shiny and I’m having fun with it.

The thing I may not be able to live with is not having easy access to individual emails. I can’t seem to drag and drop emails into, say DEVONthink. I also don’t see a way to link directly to a message. I use links to email everywhere so that could be a deal breaker.

In the meantime, Spark seems clever and pretty. I’ll see how I feel in a week or two.

Mailhub and Apple Mail

I’ve been reeling things in lately, software-wise. I’ll write more about that some other time, but I right now I want to share something I’ve found during the process.


Mailhub is “a ‘smart’ plug-in for Apple Mail that revolutionises email management”. Sounds great, but I haven’t used Apple Mail in years. I use MailMate, which is a fantastic email client.

Or at least I used to use MailMate.

After reading Dr. Drang’s Back to Apple Mail post, I realized that switching to the stock Apple email app would fit right in with the reel-things-in phase I’m going through. Dr. Drang mentioned Mailhub so I jumped right in.

Mailhub is terrific. It files mail like I’ve always wanted something to file mail. It feels and works like a tool I would have made, if I was able to do such a thing.

After a few days of this I’m quite happy to be using Mailhub and

The History of Email - Eager Blog

Zack Bloom:

The ancestors of the Internet were kind enough to give us a communication standard which is free, transparent, and standardized. It would be a shame to see the tech communication landscape move further and further into the world of locked gardens and proprietary schemas.

A fun history of one of the most ubiquitous communication mechanisms ever.

I love email. It’s easy, lightweight, and encapsulates a universal-ness that has never been surpassed. Having all that means I can live with the parts that suck (e.g. spam and encryption). It’s fun and popular to hate on email, but I have years of messages living in a directory of simple text files, forever accessible and all mine.

Saving a Maildir email as .eml using Mu4e

I use Emacs and Mu4e for managing email. Normally having all of my email as text files in Maildir format is fine. There are times, though, when I want to save a copy of an email and put it in DEVONthink with everything else. DEVONthink handles email very well, meaning it previews the headers separate from the messages and formats things nicely. The problem is that this only works with .eml files.

Both Maildir and .eml files are plain text, so I took a guess and added .eml to the end of a stock Maildir file and it worked. The file was easily preview-able in the Finder and DEVONthink thinks it’s a normal email message. The challenge then, was to figure out an easy way to copy whatever email I’m viewing in Mu4e to a .eml file somewhere.

I have no experience writing lisp so I asked on the mu mailing list and soon received a reply from Mu4e’s author, Dirk-Jan Binnema (‘djcb’).  He sent this:

(defun djcb-mu4e-copy-message-at-point (&optional dir)
  "Copy message at point to somewhere else as <date>_<subject>.eml."
  (let* ((msg (mu4e-message-at-point))
         (target (format "%s_%s.eml"
                         (format-time-string "%F" (mu4e-message-field msg :date))
                         (or (mu4e-message-field msg :subject) "No subject"))))
     (mu4e-message-field msg :path)
     (format "%s/%s" (or dir (read-directory-name "Copy message to: ")) target) 1)))

I added that to my init file and assigned it to . Now, when I’m reading an email and want to save a copy, I just hit and (optionally) enter a directory and the message is saved as a .eml file named using the email’s date and subject. Very handy!

Better Mu4e Message Rendering

When viewing an email message in Mu4e, HTML is converted to text using Emacs’ built-in html2text by default. The results aren’t always very readable. Fortunately there are other options.

The first thing I tried (since I’m on a Mac) was this:

(setq mu4e-html2text-command
      "textutil -stdin -format html -convert txt -stdout")

This converted things pretty well (and better than html2text) but it would lose all of the links and much of the text alignment was off.

I then read about shr and changed my configuration like so:

(require 'mu4e-contrib)
(setq mu4e-html2text-command 'mu4e-shr2text)
(add-hook 'mu4e-view-mode-hook
            ;; try to emulate some of the eww key-bindings
            (local-set-key (kbd "<tab>") 'shr-next-link)
            (local-set-key (kbd "<backtab>") 'shr-previous-link)))

This works very well. Most HTML emails are now nicely readable right in Emacs and the links are preserved. Plus, I can quickly jump to links by using the Tab key.

Of course I can still just press a V to open any messages that really needs to be seen as HTML right in my browser.

Done using offlineimap

OfflineIMAP_logoI have been using OfflineIMAP, on and off, for a long time. The reason it’s been “on and off” is that once in a while I’ll have some inexplicable problem and give up and just access my IMAP accounts directly. A few months pass and I wonder why I stopped using offlineIMAP and so I update the configuration and the circle begins again.

This time I’m writing it down. I love having all my Gmail messages stored locally in simple text files. This makes things fast and everything works even while offline. That sounds great, but the fact is I’m never offline. I don’t think I’ve taken advantage of that “advantage” even once. Running directly to IMAP isn’t that slow anyway.

I went to bed last night after weeks of everything working fine. First time I tried running offlineIMAP this morning it couldn’t find the Archive folder and everything failed. No new mail for me. Nothing on my end had changed, but things just stopped working. That sort of thing drives me nuts. It’s not worth the fuss, so back to my direct-to-IMAP mutt configuration.

Tried using Emacs/Gnus for email. Hooked up BBDB and everything. Not gonna happen. Mutt still wins by a mile for me.