Hacker News new | past | comments | ask | show | jobs | submit login
Aerc – a pretty good (terminal) email client (aerc-mail.org)
205 points by davegauer on Oct 11, 2022 | hide | past | favorite | 50 comments



It brings joy to my heart to still see these simple web 1.0 pages.

And the front page has almost all the information I care about as a terminal luddite: vim bindings, etc.

One point of criticism: it says extensible, but it's not very clear how exactly it's extensible. What language is used for extensions? Go? Scripts + conf files with hooks? The front page makes no mention, nor does the source page, and I've yet to find it by clicking around the wiki.


aerc is plugged into your surrounding Unix environment more deeply than most mail clients. It has a keybindings system which is like a more generalized version of Vim, plus an embedded terminal emulator and support for piping things through shell commands, and a templating system.

Example: to apply git patches, I have this in ~/.config/aerc/binds.conf:

    ga = :flag<Enter>:pipe -mb git am -3<Enter>
To reply to thank the contributor, I have this:

    rt = :unflag<Enter>:reply -a -Tthanks<Enter>
The "thanks" template invoked by this shells out to git to include a summary of the git push and set a special mail header to update the mailing list on the status of the patch:

    X-Sourcehut-Patchset-Update: APPLIED
    
    Thanks!
    
    {{exec "{ git remote get-url --push origin; git reflog -2 origin/master --pretty=format:%h | xargs printf '%s\n' | tac; } | xargs printf 'To %s\n   %s..%s  master -> master'" ""}}
Hope that helps.


That does help, thank you.

I like this because I could do the script parts in whatever language I like.

I've been trying to cobble together a linux dev system that's almost entirely configured in lisp.

Getting pretty close now, in theory, with Guix for a distro(Guile initscripts and system def), Stumpwm(Common Lisp), Nyxt-browser(also CL), and of course Emacs with evil-mode for editing/org-mode.

I realise I could Emacs all the things, but I have too much of a love-hate relationship with Emacs for that to be bearable...


What do you hate about Emacs?


I don't particularly like Elisp as a lisp, but I still prefer it by miles to Vimscript which I find revolting. And I find that a lot of packages for using emacs for things like IRC, email etc tend to be quite buggy. If you spend some time on any Lisp/Emacs related IRC channel, you'll see a steady backround noise of people disconnecting due to ERC crashes. In addition, Emacs tends to have pretty hit or miss documentation outside of vanilla Emacs.

There's so much outdated crap floating around on sites like Emacswiki recommending a bunch of buggy, slow packages for things that have been added to vanilla Emacs years ago.

And in general I find that the more stuff I stuff into my Emacs config, the more weird interactions are possible between various packages and the more bloated and unmaintable it gets, breaking in all sorts of annoying ways when Emacs is updated.

So I try to keep Emacs limited to what it (IMO) does better than anything else: development and org-mode.

There's the saying that Emacs is a great OS, but a terrible editor. I think it's a terrible OS with a fantastic editor.


So, given that with email, the important part is the data, and not the client, I was able to give this client a spin. Not bad. I was able to go though my recent email, view some HTML email I keep getting, and mash through things without a lot of problems. Maybe I'll stick with this client? ::shrug::

This is one of the few domains where you can play with different client still. And there can be innovations here with CLI versions, which I like.

Reading other comments in the thread, it sounds like ddevault has ideas for the next version. If so, that's cool, and it should be easy to try out.


I tried to sign-in into my work Outlook account with aerc a while ago, from WSL2, unfortunately it didn't work with an app password[0], and OAuth2 won't cut it, because I'll have to ask the company's services administrator to grant me access.

Nevertheless, a great piece of software. Using it for personal e-mail.

[0]: https://support.microsoft.com/en-us/account-billing/manage-a...


I use aerc with o365 via davmail and mbsync. Using imap directly was to slow, but pulling mail to a maildir works well. Davmail handles all the o365 interaction and supports mfa directly.


Thanks for mentioning this. I had the same problem as the person you replied to for using alpine, which does support mfa, but then the 'request' for alpine to be authorised as supported software had to be supported by my organisation. The ticket has been open for about 3 months now and apparently they're still discussing.

I don't know what davmail or mbsync are, but I'll look them up and have a go at this when I find time.

If you had any nice links to help me on my travels, I'd be very appreciative :)


* Davmail - https://davmail.sourceforge.net/ * Mbsync (part of the isync utilities) - https://isync.sourceforge.io/

Use Davmail to create a standard IMAP interface to O365, then use mbsync to poll your email account via the Davmail IMAP server and write the messages to a maildir that you can read with most any MUA.


I use davmail on Macos and linux for my uni’s office365 account with MFA, both from inside and outside the uni’s network. No need to ask for an app’s permission etc.

I guess it should also work on Windows.


I like it. It's somewhat reminiscent of this one we used to use called Pine :) I think sourcehut guy made this, right?

edit: yep sourcehut guy. they also made this cool guide here: https://git-send-email.io/


Drew (sourcehut guy) wrote the original from the look of it, but that's now unmaintained and this is a fork: https://git.sr.ht/~rjarry/aerc


rjarry is doing a good job of maintaining it now. I will eventually write a new mail client with the benefit of hindsight.


As a user and (rarely) contributor to aerc from pre and post transfer, I'm very curious to see what you'd build now having learned from aerc (and, perhaps, alps on the web site?).


Also sway, but hacker news doesn't always hold him in that high of an opinion, probably mostly of his Rust criticisms...

But I use many of his tools, all top notch!


HN is not one voice. Lots of people here admire his work.


For what it's worth, I'm an HN user and hold Drew and his work in very high regard.


He has over 25k karma on here. The data doesn't fit your assertion.


I'm not worthy of high opinion yet I also have ~25k karma. Karma matters less than you think.


Well, I'm not suggesting HN karma is some kind of indicator of merit, only that it's the best indicator we have of whether someone's held in a high opinion on HN, which is what GGP was talking about.


Why do you feel the need to bring this up?


I use an email client called bower, which is fairly light on features, but has one killer feature: it works with remote notmuch databases.

So I get great search, but can easily open attachments locally, or even compose in a GUI editor.


Is this the right repo for bower?

https://github.com/wangp/bower


Yes


Ah this is awesome, brings back so many memories when i was a UW student on Pine[0] then Alpine[1]

[0] https://en.wikipedia.org/wiki/Pine_(email_client)

[1] https://en.wikipedia.org/wiki/Alpine_(email_client)


Was threading support ever added? I recall there being a few attempts. I tried aerc out for quite a bit but ultimately had to give it up for neomutt b/c mailing list discussions were impossible to follow without threading support.



Related:

Aerc – An email client that runs in the terminal - https://news.ycombinator.com/item?id=20090950 - June 2019 (264 comments)


I'd love to use a lightweight email client. I've tried several in the past. When conversing with others who know how to use email, like free software mailing lists, for example, they are a joy to use. But as soon as you have to interact with the Microsoft shite it just doesn't work. Things just start breaking in random ways and you're never really sure if you're getting the message you're supposed to be getting. Since I mostly use email for work, I've found Thunderbird to be the only good option.


I have been using it for the last weeks. It’s nice, although I didn’t have good luck with the documentation. I think some of the examples and capabilities are lacking, and the procedure for reporting/asking something seemed really convoluted with respect to something more plain like GitHub. Furthermore, another problem that I have is that sometimes I lose connection to the mail servers, and it’s imposible to recover it without closing and reopening the app. I am missing something like reconnect/refresh.


> Asynchronous IMAP support ensures the UI never gets locked up by a flaky network, as mutt often does

Seems to have been made with flaky connections in mind, would be weird if there wasn't a way to recover.

But on that note, isn't it local/offline-first? The first feature that comes in mind for a email client is "download all mail to store locally so I can browse/search them anytime", is that not how this client works?


No, it does not store emails offline by default (though you can configure it to use maildir and use isync to pull emails down, this is what I do in my configuration). In my opinion this is the major design mis-step of aerc which will be corrected by a future mail client.


It has improved lately but no, it does not handle flaky connections well. And it is online by default.


Love Aerc but if I'm going to jump ship from Betterbird/Thunderbird I really need a lightweight calendar app to pair Aerc with as that's a vital part of my day to day. Any recommendations?


I really am in need of a terminal email client that can handle multiple inboxes with vi keybinds out the box. This looks promising


I love it, answers the question. “What would vim be like as a web client” I use it regularly.


That's Mutt.


What's the added value when compared to more mature solutions like mutt or neomutt?


I initially tried neomutt before moving to aerc and haven't looked back since. My memory of neomutt is pretty hazy, but I feel aerc has a much simpler setup process (it has built-in SMTP support) and a less steep learning curve. aerc's defaults feel more sane, particularly as a Vim user.

For reference, my setup is having offlineimap sync mail to/from my local maildir. aerc fills the rest of gaps with viewing, composing, and sending mail.


I swapped over to aerc from mu4e, it’s very pleasant to use. I would easily recommend it.


Why this over regular client ?


I use mutt but will give this a try.

But another perspective on why use a cli over a regular client. Though there's a bit of a vogue for terminal apps in dev circles, I don't favour them in general. I like GUIs. I want my computer to use 21st century tech for UIs.

But unfortunately (on Linux at least) all the GUI IMAP clients I've tried are terrible. Not because they are GUIs but because they're all either buggy or have awful 1990s corporate interface design or lack even essential keyboard shortcuts, or are just infeasably slow.

So mutt it is, which at least seems to be well-crafted, is quick, and can be configured to be pretty usable. I'd replace it with an excellent GUI app if there were such a thing.


I find myself using TUIs a lot more because GUIs are always mouse centric. The GUI paradigm is stuck in the 20th century IMO. I'd like GUI applications that were easy to use with more than one finger, but it seems that nobody can figure out a way to do that yet.


For me, checking and replying to emails is quicker with a CLI client than with a traditional mail client. It’s easier to jump around and pick apart email threads from my text editor than a GUI app. And Aerc’s piping is nice, it makes it easy to apply patches from mailing lists to local repositories.


I want to make aerc my email client. Hopefully it gets S/MIME support soon.


how would I use aerc and not maintain a go toolchain?


Install it from your local package manager:

https://repology.org/project/aerc/versions


It's like three steps--four if you count the verification.

https://go.dev/doc/install


OT. I just don't want it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: