Switching to Aerc from Thunderbird
So why did I switch away from Thunderbird? Mostly because it’s kinda slow and comes with many features I don’t need / want. I prefer my programs to be rather minimal if possible, so everything I really want is easier to find
Don’t get me wrong, Thunderbird is a great general purpose mail client for most ppl, but for me it’s too much, I don’t need a GUI …
#Security
There is an important nouance to this, aerc by default uses to render html mails, w3m, which I wouldnt consider secure, maybe similiar to what thunderbird does. Although it’s run sandboxed and without being able to make network connections, there are probably still a lot of Memory Vulnerabilities contained … So my recommendation here is to use plaintext mails if possible, dont render them if not required. If you viewed a mail in plain text and trust it somewhat you might then pipe it to the html filter.
Contrary thunderbird has probably less problems with just parsing html, but it’s codebase is way larger and it supports way more stuff, like css in mails etc. which in return probably leads to more vulnerabilities.
So if you want to be secure I recommend, setting the filters to use cat or an equivalent (maybe bat is the better choice here, since its in rust, although I don’t know the details of it (like if its just formatting cat output or is doing everything)). Otherwise the sandboxes w3m is probably fairly okay, but probably has no edge over thunderbird or webmail.
#Terminal UI
After using Aerc for a while now I noticed I prefer a TUI way more. Usually mails are all formated with tons of colors and images etc. I don’t need this, its imo just annoying, I want the information and thats it …
And Aerc just gives me this, it runs in my terminal, with no mouse support (I prefer this, as it forces one to learn the shortcuts and get faster). Everything works with the usual vim keybindings e.g. jk to go up / down in the mail list etc.
#JMAP Support
Also aerc supports jmap, which my mail server (Stalwart) also speaks. It has a bunch of advantages compared to IMAP and these old protocols, first off it just runs over https & uses json (thats what the J also stands for ig (only a guess, but would make sense) ;P). I like that approach, one don’t need to reinvent the wheel each time and have tons of random protocols. Also this means I can just have 443 open in my firewall and that’s it, no imap port (still have it, but guess not long anymore).
Additionally JMAP supports bulk opperations, yeayyyyy. This makes the mail client way faster, as it can just fetch a bunch of mails at once, delete multiple mails at once etc.
#Cool Features
- Uses your default terminal editor for composing a mail, in my case helix. Finally I can use my keybindings for writing mails ;P
- pipe command, allows you to pipe your mails through any command you want, you could even cat it and pipe the output to a file if you want, use bat for syntax highlighting in your mails, open it in your editor, so you can quicker navigate or delete stuff even (cant write it, but still cool) etc.
- PGP support, its pretty straightforward, also in the config you can set stuff like that it should sign everything etc.
#Its fast
And lastly, since it runs in the terminal, its blazing fast, I open the application menu entry or run the command and its there, no waiting … all actions are instant.
618 Words
2026-08-20 15:25 (Last updated: 2026-10-05 15:28)
fd6dcc4 @ 2026-10-05