A lot has been said about how and why e-mail is broken (such as [1, 2]) and how encrypted e-mail is a lost cause (such as [3, 4]). This is all true and sad enough. My gripe (both current and perennial), however, pertains to Mail User Agents (MUAs).<p>First off, we have to state that many people don't even use a MUA at all, but instead rely on GMail and other webmail, which runs in the browser, and the problems with modern browsers are beyond the scope of this thread; suffice it to say that I deem `modern web applications' too bloated, much like Drew Devault and others (see, i.a., [5]). (Just to be clear, this does rule out Electron-based MUAs for me.)<p>I used to use Thunderbird for almost forever, until I found that it had inexplicably high CPU usage every now and then (not caused by the search index, mind you), and it was a bit tedious to configure for plain-text mail [6]. Besides, Mozilla has threatened to drop this project more than once. So I tried a few other clients (such as Geary and Evolution) and switched to Claws mail.<p>Claws mail does have outstanding performance. But its source code was not very convincing (mixing several layers of abstraction, including GUI, in the same place). Besides, it's a GTK program.<p>I just can't help it — I find GTK very hard to configure:
* On a fresh install, it is very well possible that some icons or mouse cursors are missing.
* On some systems, I have to configure using the ini file. On others, it is some arcane gsettings thing.
* You need to play around with themes for it to look decent, so good luck with the gsettings, the missing icons, and what-not once again.<p>Speaking of plain-text mail (as I did a few paragraphs ago), the website I mentioned [6] does list quite a few clients with textual user interface or command-line interface. I tried aerc, because it was fresh, written in Go, and because I do respect the principal author, above-mentioned Drew Devault, very much. But I found that the UX was not to my liking, and I don't quite understand why a MUA should include a terminal emulator. Or why it should be a self-contained application altogether.<p>This whole idea of a self-contained MUA application goes against the general UNIX-y paradigm of "no application" [7] and "choose extend over embed" [8]. Don't app me in, if I may say so.<p>Other MUAs, such as nhm/mmh or neatmail do in fact follow these paradigms. But their adoption seems very weak, and:
* they are written in C (which is error-prone and also not the best language for quickly testing hypotheses regarding MUA design),
* neatmail uses mbox, which I find rather limiting,
* nmh/mmh do use Maildir, but they depend on context information (such as `current message') that they have to manage in the file system, instead of expecting the necessary information as parameters to the operations.<p>Now, in order to use these UNIX-y programs, I imagine (though I didn't check) one also needs dedicated programs for communicating with mail servers, i.e., for receiving and sending mail. So I read up a bit on sendmail, postfix, qmail, fetchmail, getmail, and fdm. And we seem to be treading buffer-overflow territory once again (or deprecated Python 2 in the case of getmail). I find this rather sad.<p>Am I missing something? Is the state of MUAs and e-mail in general really this bad/sad?<p>[1] https://doctorow.scribe.rip/dead-letters-73924aa19f9d
[2] https://ploum.net/the-monstrosity-email-has-become/
[3] https://latacora.micro.blog/2020/02/19/stop-using-encrypted.html
[4] https://words.filippo.io/giving-up-on-long-term-pgp/
[5] https://drewdevault.com/2020/08/13/Web-browsers-need-to-stop.html
[6] https://useplaintext.email/
[7] http://wiki.c2.com/?NoApplication
[8] http://wiki.c2.com/?EmbedVsExtend