Email clients on linux

Unix invented email, sand kind of left it there

April 21, 2020 — April 5, 2023

communicating
computers are awful
computers are awful together
confidentiality
encryption
faster pussycat
office
POSIX
UI
Figure 1: the new version of Evolution mail

Being smarter about how I read my email on Linux. Especially, less-awful-UX in email clients. We have had email for more than 50 years (happy golden anniversary) so surely this is not too bad, right? Haha jk of course it’s depressing, and worse, it seems to be one of those problems that I cannot even solve with money. At this point I would happily throw disconcertingly large amounts of money at this problem to make it go away but there is nowhere I can find to throw it.

Note that Google Mail has obviously done some UX innovation, but I’m not happy with their owning intimate details of my correspondence, so their email client is dead to me. Shameless clones of the Google email experience that do not rest upon giving my data up to Google are of interest, however.

With that caveat, what are my options? On Linux I can choose between various dissatisfactions:

The rule for Linux mail clients is everyone hates them all and no-one has improved substantially over the interface designs of the 90s, excepting those that in doing so but have missed out something else essential to email. Every alternative has a faintly broken-hearted air, as if the authors were briefly determined to do it right this time before giving up like all the others. Nonetheless, many mediocre stalwart options are… there, still drifting along. They are often mostly functional and somewhat buggy, as they have been since their heartbroken authors gave up on their dreams. Pace jwz, I do not believe that Zawinski’s Law of Software Envelopment applies any longer. The dominant dynamic now is better summarized

Every program that expands until it can read mail competently will be replaced by one which is less competent.

In practice I managed to survive for a while with a mixture of Mailspring and Geary and Evolution for, respectively, searching emails, accessing contacts, and configuring the settings. Also using just Evolution is fine, I guess, if you don’t yearn for smooth or seamless experiences.

Thunderbird is a solidly mediocre alternative that kind of blends all the pluses and minuses of the competition into undifferentiated tolerability. The new version (91) is OKish so that is what I currently use.

1 Web email clients

Potentially not a bad option on Linux, actually. After all, I can run a mini server on my laptop no problem, so maybe that could work around the UI hell of Linux desktop apps?

However, hosted webmail clients for some reason tend to have an ancient stack, suspect security implications and tedious admin procedure. See webmail.

2 Thunderbird

tl;dr: Thunderbird is able to adequately send and receive mail with the height of convenience circa 2005.

Thunderbird 91 released 2021-08-11, is a substantive revamp of much of Thunderbird. It is better and smooths some frictions, with the address book and calendar being more native and less confusing-plugin-based.

Thunderbird is the classic Mozilla-backed mail client that I’ve always found aesthetically grating. However, it works across every mail server I have tried, so there is a return on tolerating its low-key irritations. It stores data in its own cross-platform Thunderbird database, so migration is easy between platforms.

The weird foibles, though, are many. For example, search for messages is confusing. There are two boxes, filter and search, with an obscure relationship that I am too stubborn to google because I feel it should be obvious.

Figure 2

The default search is ordered by something called “relevance” which seems in practice to mean “please show me first some arbitrary irrelevant email from 2017”. I guess that could mean that it truly is a search ordered by relevance, just in the opposite-to-useful-order. Or that the language model is bad. Or that Thunderbird has been infiltrated by agents of inbox zero. Or maybe that Thunderbird has spooky insight into the importance of something I screwed up in 2017 and I need to start panicking about it.

There are other minor irritations too numerous to recount, but all survivable. This is a completely functional mail client which handles the oddball requirements of my various servers, but does not care enough to make it look easy.

The modern, functional support for MS Exchange is via Beonex Owl.

Thunderbird even gets contact and calendar support if you treat it juuuuuuust so. This option is unpleasant but OK. UPDATE better in version 91. Only one addon is needed, cardbook.

3 Mailspring

tl;dr: This looks good so why have I heard so little about it? Oh, because for all that this product is pleasing to the eye it is missing address book and calendar integration.

Mailspring is a web-tech-backed GPL3 mail client. It has a freemium feature set for fancy people at USD8/month. The interface design is more modern than most of the options here.

Supports gmail/icloud integration.

The app mostly does what it says. Sometimes it freezes and implodes, but does not seem to have lost data that way yet.

However the lack of calendar/contact integration is annoying. I get invited to things by email pretty often. Would suit a hermit who never leaves the house, or someone who memorises email addresses and phone numbers.

snap install mailspring

4 Geary

tl;dr: Tired of those same old annoyances of Evolution? This half-finished alternative supplements those with some new ones.

Geary seems to be an attempt to do over and modernise Evolution but I am nervous that it keeps the flakiest part of Evolution, the evolution data server, as a backend storage. Nonetheless that probably means it has relatively good system integration compared to Thunderbird? And a better UI than Evolution?

Anyway I’m trying it out. So far it is not reassuring. It just doesn’t seem very… good? Example: All the keyboard shortcuts are different to the keyboard shortcuts of other email apps, and especially the keyboard shortcuts of Evolution, which are the ones its customers presumably know.

Search just doesn’t work. It either hangs forever, or fails to find emails that I can see with my own eyeballs right there.

Also, to actually use contacts and calendars I need to keep Evolution and use that to configure them. Geary cannot configure the calendar settings. The OS cannot configure the calendar settings. Only Evolution can do that. This is why Geary is not a replacement in practice, it is an addition.

Geary pitch meeting:

Yo, I heard your email program was too complicated, so I wrote an additional different one that is half as complicated with different keyboard shortcuts which you can use at the same time.

Don’t you mean that I use instead?

[smoke bomb vanish]

5 Evolution

tl;dr: Evolution is GNOME’s well-integrated shambles.

Evolution is the OG GNOME mail client. It supports GPG natively for what that is worth, so if we can find two people who use it, those folks can send messages to each other that way I guess. It has powerful and flexible configuration and good integration into GNOME desktop, and Microsoft Exchange support and iCloud support and indeed everything support. That is to say, it is featureful. It would like me to know how featureful it is. The UI is cluttered with a lot of inside-baseball stuff. What happens if I click on a message that was deleted on the server?

Figure 3: Evolution’s signature look is passgro TMI

User interactions are not intuitive but must be googled. Here is a case study: I often want to view only flagged messages. It is not obvious how to filter to flagged messages. The short answer is use a search folder. The conditions they suggest are [Follow-up] [is Flagged], which did not work for me. For me, what worked was [Status] [is] [important] (crucially, not [Label] [is] [important] which does… nothing?)

On my computer I can create search folders, and they worked, but the icons are invisible for some reason, so you have to click on empty air and hope. It is a weird process to create the folder, which reflects the general UX of this program, so I will relate it. First, I go to a mail folder. Then I click search1 Then I click Advanced search. Then the search dialogue pops up. I must not click OK, but save then OK, or I start again. Now I click on [Search] [create saved folder from search]. NOW I have a saved search. Somehow 90 minutes passed out while I worked that out.

There are a thousand small frictions. Here are some more, because I appear to be ranting now.

It does not pre-cache remote messages, even ones it has shown a notification for, so I regularly find myself clicking on a message notification then waiting 15 seconds watching a spinning progress indicator. Then the message appears. How could I possibly have known you would want to read the message I just showed you a teaser for? asks the borderline abusive email app. “ah,” I think, “Shut up, app. I don’t need that message actually I will delete it”, then the next one takes another 15 seconds to load. How could I possibly have known you would want to read next message after the message I just showed you a teaser for? asks the app, all innocence. Good.

Forwarding messages? Technically possible, but only if I like the WHOLE THING to be sent as an attachment which opens in a separate window, which is a small annoyance but annoys me since I like to reply to emails line-by-line sometimes. I think I get to that by replying then changing the to: address? Actually, on reflection that is not crazy. OK Evolution, you can have this one.

Ultimately, I do not trust Evolution merely because it is passive-aggressive but because it seems fragile. The backend process eds, a.k.a. Evolution data store, intermittently leaks memory or cpu in a way that fills me with dread for the code quality. That CPU usage is by a background process that is hard to disable; Even when I am not running the Evolution client, a substantial proportion of my battery goes into its obsessive syncing. I found somewhere on the internet that the problem can be improved if I periodically delete ~/.cache/evolution/addressbook. The need for such a weird hack is a red flag. UPDATE has not crashed recently.

6 Bluemail

tl;dr: Looks nice enough, but too much hunting-and-pecking with the mouse, and vaguely suspect corporate behaviour

Bluemail claims to modernize various features of the email workflow. Commercial (android/macos/linux/windows/ios). Free for individual use.

All else being equal, I prefer open source apps for handling confidential data such as emails (especially when the company that makes it is in a surveillance state like the USA). That preference is about transparency, not price. I am, as presaged, happy to fork out money for a quality email experience. Bluemail is not an open source app. However, all else is not equal, and the open source options are terrible, so I will suppress those transparency qualms to give this app a try. Early indications are not without promise; the company support staff responded extremely rapidly to my first support ticket, so I am feeling well-disposed towards them.

Impressions follow. Good:

  1. Integrates calendar, contacts and email, just like it claims.
  2. Less ugly than Thunderbird or Evolution.
  3. Inbuilt bug-reporting tech support button.

Bad:

  1. Keyboard shortcuts bad.

    1. There just aren’t enough keyboard shortcuts. A whole bunch of normal things that I would want to do with emails (reply? flag?) are not accessible any way except hunting for the tiny icon with a mouse. This hunt-and-peck interaction gives me the feeling of being a befuddled senior of the sort who would usually dictate his “electronic mails” to his wife but now has to work it out for himself while she is away at her weekly orchid-fanciers committee meeting.
    2. What perfunctory keyboard shortcuts there are, are not discoverable, in that they do not show up in tooltips in the modern fashion. They are in the manual, though.
    3. For me on Linux, the keyboard shortcut to delete a message works a few times then breaks until I restart the app. There are only 5 keyboard shortcuts in the Mail View, so that means 20% of them are broken.
  2. If I download a calendar invite in the standard .ics format then open it in Bluemail, it does not appear in my calendar. How am I supposed to import things to my calendar? This may be a bug; it seems to claim to support .ics files in the manual. Or maybe I am supposed to read each appointment out to that long-suffering spouse who will type it into my diary for me?

  3. Linux desktop support has rough edges. e.g. The window size is somehow a bit off for the tiling window manager I am using. Occasionally bits poke off the screen if I allocate it 50% or less of the desktop width. Mind you, Linux support for Linux has rough edges too, so …

  4. Wait, they have massive privacy breaches? In 2018 at least they were in effect spying by sending your login data to suspect servers. Is this true now?

OK, so new summary: Dubious privacy, shiny interface which is easy for beginners but hard for regular users. This app is boomer-bait.

7 Sylpheed/Claws

tl;dr: artisanal email with hand-polished genuine wood and leather upholstery and genuine hand-crafted plain-text email.

Sylpheed is a light, apparently simple mail client that I see recommended where people are complaining about Evolution being slow. It seems to be intermittently maintained and uses antiquated technology. Claws is AFAICT a fork and has exactly the same selling points except more modern (?) and less intermittent development. It looks like neither supports any kind of rich text formatting when writing emails. But to be fair, HTML email composition has only been around since 1996, so it is understandable that the developers don’t wish to leap in too soon to this ephemeral new “world wide web” fad. They can sit this one out and instead ride the next hype cycle and play the long game. Fun fact: all tech trends converge upon a single ultimate mega trend which is the entropic heat death of the universe. Truly future-proof software targets thermal equilibrium.

8 Kube

tl;dr: On the slightly-too-minimal side of admirably minimal for now.

Kube is a minimalist client built by Kolabnow. It supports encryption and is certainly fast and simple. It doesn’t do certain things one would like, such as multiple mail accounts, or even one mail account with an external address book server. But the simple interface is sooooo soothing, it’s a tranquil shibui meditation in there.

If this email gains some kind of integration to my calendar (nice) or my address book (essential) I will revisit it.

9 KMail

tl;dr: Can’t afford the import duties across Linux desktop environments.

The KDE client is KMail. Although I am not ideologically opposed to KDE any more than I am to GNOME, they are both awful in different ways, it is messy when you try to install big foundational apps from both KDE and GNOME, so I have not installed this particular one and thus cannot vouch for it.

Nonetheless, between this and the Nautilus mess reasonable difference of opinion I detect a good argument for choosing KDE desktop over GNOME desktop. My main concern would be that I have no assurances that the constellation of KDE annoyances is not similarly annoying.

10 Mutt/Neomutt

Yes, I could use a command-line interface for sending and receiving mail. That would be very artisanal of me. But I am speaking in the subjunctive, as if I have not done this. Hah! I was a text mode email user from 1994 to 2004. IIRC I started with Pine then moved to Mutt. It was certainly functional and reliable. I am not a fan; I was spending half my time managing attachments and failing to find messages. This is not for me, in the year 2021.

For completeness, I should mention that Mutt can be made less bad if you add a search plugin to it. Here are some links about that.

11 On client-side spam filtering

Bogofilter and Spamassassin are two eminent spam filters that may be shared by various of these mail clients, including Evolution and Claws. If you are hedging your bets on mail clients, sharing spam filtering across them might be useful.

12 iCloud setup

I would like to share my mail contacts with my iPhone. Possible, since iCloud supports generic standards such as CalDAV. Unpleasant email client Evolution does a good job of autodiscovering the whole config for an Apple iCloud-backed account if you put the following servers in the server box: imap.mail.me.com, imap.mail.me.com, https://caldav.icloud.com and https://contacts.icloud.com. Thunderbird is fiddlier.

Footnotes

  1. there appears to be no keyboard shortcut to search. Why? Does no one else need to search their emails at least as often as switching from work-week-calendar to 7-day-calendar? Because that has a keyboard shortcut all to itself. Are there hordes of people out there who have memorised the dates and full-text of all their emails but just cannot decide whether to view weekend appointments next to their workday ones?↩︎