Yes! That should be the standard to aspire to with all software. Not the constant change for the sake of change.
I set up a very highly customized (simplified) mutt setup for my parents in 1996 and the exact same setup continues to work today and my now-almost-100 year old parent continues to use it.
Anyone who has tried to keep older people using software knows the nightmare of UI changes. Even a small movement in the placement of icons is a big hill to climb. Consistency is key. My parent has given up on using the web because both the browser and website UIs keep changing all the time, it becomes too frustrating for them. So they gave up.
But thanks to mutt they continue to use email actively, nothing has changed since 1996 when they memorized how to use it.
(I no longer use mutt, but use notmuch).
A pattern is a mail-specialized regular expression. There are shortcuts for the things that you are likely to be interested in: From and Cc, To, Subject, Date, status flags. After a few uses of each, they'll start to feel natural.
The limit/tag/pattern workflow goes like this. Start in a mailbox view -- say, your overloaded Inbox. Use a limit pattern to see just a subset of the mailbox -- l ~fjira to limit to messages from a sender with jira in their name or address. Use T to tag a pattern -- by default the one you just used. Then prefix any command with ; to make it apply to all the tagged messages. That isn't just deleting them or moving them off to a different mailbox. You can forward them all as attachments, or respond to them all as one message, feed them to a command line process or give them a new status flag. You can also tag and untag messages one at a time, if you need fine control but don't want to figure out a narrowed pattern. Then, untag anything left and unlimit back to the full mailbox.
The key is that this happens much faster than you can possibly make selections with a cursor in a GUI, and much faster than you can make selections with a scrolling TUI. And patterns don't miss something by accident.
One of my favorite limit patterns is "l~d<2d ~d>1d\n" which I have aliased to ".y". It shows everything that came in yesterday. You might be surprised how often this is the view that shows you what you've missed. Another great one is "l~(!~fDOMAIN)\n" which shows only threads that have outside mail addresses in them.
Agreed on the limit/tag/pattern benefits, but there's even more to mutt. The greatest thing is how everything is configurable. It works and behaves exactly how you want, for any conceivable definition of want.
Most software these days takes the Apple approach of imposing one single way of doing things and you will shut up and like it. Which I hate. Mutt is the complete opposite, configure everything to taste and enjoy.
This time, I made it about 30% of the way through this "quick guide" with a Gmail account. I don't want to have my password in plaintext, so I'm fine typing it in each time to get started, but I never got over the finish line. I got stuck somewhere around minimizing the number of system headers that go out with each message.
Please let me know if anyone has recommendations for a CLI email client that hooks up with Gmail on a modern Linux distro relatively simply.
Webassembly demo: https://meli.delivery/wasm2.html
In general I find that most people who have (or claim) a productive workflow sync their mail locally (rather than letting the client connect directly over IMAP). So decoupling your reader application from your mail fetching application.
[mb/i]sync or offlineimap, with or without notmuch.
Can't speak for others but when I was using mutt this is indeed what I was doing. It's just way, way easier, there are no IMAP quirks to jump through and you get excellent offline functionality pretty much for free.
I'm not sure of the state of Gmail IMAP, but Mutt is "happiest" when you've got a classical UNIX system with mail being delivered locally. It's .. very old school. I suspect you could get 80% of the zipping benefit by learning all the Gmail keyboard commands (why is delete '#'? To avoid accidental usage? Is there a keyboard command for "label as"?)
What system headers are you trying to minimize?
I'm scared to see the "Complete Guide to Mutt".
Context: I was using Mutt to do email, and one day I found that Exchange was configured to send only HTML versions of each message. If it received a plain text message, it would convert it to HTML -- including changing things like ":)" into J in Microsoft Symbol font or Webdings or whatever it was. Typically in an HTML mail environment, the plain text and HTML versions would both be sent as separate MIME attachments, but in this setup, only the HTML was included.
I filed a ticket, requesting that plain text messages be enabled so I could read them easily in Mutt. This snippy remark was the only response from IT.
So if you use a client like Mutt, be warned: nobody these days feels any obligation to support your retro email experience.
Ah, that's what that was!
Many years ago I was experimenting with alternative clients for corporate email, and remember being confused by those J characters, usually at the end of emails. Never figured it out, so thanks for solving that mystery. J
The more I work with people using accessibility tools, the more I realize that web accessibility is an afterthought (if thought about at all).
I think this is somewhat akin to Emacs: startup costs are enormous, but you reap the fruits for the rest of your life.
But I was still chugging along using the mozilla mail client to read usenet (or maybe there was a separate usenet client?)
So after awhile I chose the path of least resistance and used the same local client for both email and usenet.
And then gradually stopped using usenet, at which point webmail became a thing again for me.
Now I use thunderbird, because local mail readers beat webmail interfaces for convenience factors.
[1] First pine, then I upgraded to mutt.
My daily workflow involved quite a lot of mail, both from real people expecting a reply, and some automated reports. I've had many notmuch auto-tagging rules, and some custom Emacs key shortcuts to make tagging/sorting even more efficient. I think I've accumulated around 100k messages during my 4 years there.
Around 2017, I moved on to a job in a smaller company, where everyone was sitting in the same building. Ditched that setup, and definitely not looking back ;)
I had to do that with my uni’s corporate outlook mail, a real pain but it does work (although I use mu4e, not mutt, but have used the latter also).
macro index,pager ,b "<view-attachments>/html<enter><view-mailcap><exit>" "View first HTML attachment in browser"
You'll need to combine it with this entry in .mailcap:
text/html; mutt_bgrun /usr/bin/firefox %s >/dev/null 2>&1; needsterminal
auto_view text/html
alternative_order text/plain text/html
Add this to ~/.mailcap:
text/html; lynx -dump -localhost -force_html %s | sed 's/^ *//'; copiousoutput
set folder=“imaps://127.0.0.1:1143/“
and for SMTP you would do something like:
set smtp_url="smtps://username@127.0.0.1:1025/"