Experimenting with Sup · Nickelblog

For years I have sought the perfect email program. I’ve probably used 20 or 30 over my college years and career—starting with the venerable ‘mail’ on Dynix (caslon.cs.arizona.edu anyone?), moving to Elm, then Pine on SunOS 4, Pine as an IMAP client on OS/2, PMMail on OS/2, Pine on NT, Outlook on Windows, Apple Mail, Postbox, Airmail, and those are just the ones I can remember. Nevermind the line-oriented BBS message editors from my younger computing days.

I never could develop a taste for Gmail’s web client even though all my backends are Gmail now.

Some things I’d like to have:

  • Complete Vim keybindings

  • Complete keyboard control

  • Powerful search

  • Ability to write email in plain text, Markdown, or reStructuredText.

  • REAL threading support

  • Gmail-style tagging with or without virtual mailboxes

  • Integrated GPG support

Several months ago when I was hired at SaltStack. I tried the old-school retro thing and messed with Mutt. I am sad that development has all but stopped, the one thing that Mutt has going for it is that it is incredibly fast with local mailstores. Couple that with notmuch, the mail indexer, and it’s a power-user’s dream.

Then I discovered Sup. I’m currently experimenting with it now. Here are some things I’ve learned and wanted to communicate in case others come along this road.

  1. Sup does not fetch mail—for that you want offlineimap. My first hurdle was figuring out how to get Sup to index my 25+ year-old mailstore, all neatly organized into folders. That’s not how Sup works. It fully embraces the ‘one monstrous email archive’ concept brought to us by Google. You want to configure offlineimap to retrieve only your All Mail folder and let it index that. The handy part of that is it solved another issue I was having with offlineimap—the fact that each IDLE folder you define requires a separate open connection to the server. I want to have emails delivered into a number of different folders but Gmail is unhappy if you keep too many connections open. Solution: Just do IDLE for only All Mail, and let Gmail’s tags do the rest.

  2. A HUGE advantage to this is getting rid of the biggest pain of shoehorning Gmail’s concept of email into IMAP—Gmail’s IMAP duplicates messages. Since Gmail exposes tags (labels) as IMAP folders, if a message has 3 tags, a separate copy will appear in each of 3 folders.

  3. After I wrote this I discovered that the Sup maintainer has branch that handles folders (discussion here). I haven’t tried this yet. It seems to support hardlinking identical messages.

  4. Sup does not send mail—for that you want one of the null-mailers like msmtp or your distro’s “real” MTA like sendmail, postfix, or exim.

Originally published at ncbt.org.