Introduction
A lot of "my email setup" posts start with telling how the author deals with thousands or millions of messages with probably tens or hundreds of interactions each day.
This blog post instead is about how I deal with a humane level of email messaging, with a local-first approach, using a smallish variety of software, which you can just set up and forget about.
Let me start with a list of software, then go on with describe the setup.
Of this list, the following can easily be factored out if you want: Python 3, mairix, pass, procmail, gnupg, and K-9 Mail. Furthermore, it should actually be possible to replicate this whole setup with only ever using GNU Emacs and Rmail (which comes with Emacs itself), if your system has movemail handy, or if your Emacs includes it (which was common up until recently, but is a workflow deprecated by Emacs developers). Then, you might ask, why do you bother? The answer is simple: if I use external programs to fetch and send mail, then I can use multiple email clients with the same setup. E.g., I sometimes use the mutt email client with this setup with no modifications or fragile repetitions. I'll in fact talk a bit about how you can use mutt and another tool to just totally factor Emacs out of this setup while retaining a similar workflow.
With that unrefined intro done, let's get to talking about what, why and how. ( Read more... )