Hacker News new | past | comments | ask | show | jobs | submit login
Mutt 2.0 Release Notes (mutt.org)
281 points by jimiray on Nov 7, 2020 | hide | past | favorite | 76 comments



Just in case anyone is curious as to why someone would use mutt, here are a few:

1. I can edit and compose emails in my favourite editor

2. Near instantaneous launch

3. Can launch multiple instances, allowing for viewing/searching to happen concurrently

4. Rapid search with advanced searching features - i.e. find all emails that have 1 or more attachments sent to me from within a month of 1/1/2019 from someone with a "csu" email - would be l ~f csu ~X > 0 ~d 1/1/2019*1m

5. Deal rapidly with emails - I have 'd' for delete and move to next and 'y' for archive and move to next, I can zip through emails quicker than on any other email client I have used

6. I can work effectively when I'm offline or have patchy internet/signal (i.e. on a train) using mbsync or similar to store emails locally and sync up with my gmail account when I have internet.

7. Highly configurable - custom set-up for what data I want to see in my inbox, and what colours to use and what to highlight

8. Intelligent reply-all - it knows I have several email aliases that belong to me so I don't reply to myself


Mutt's still really useful. Need to deal with plain text messages or whole message bodies to send around to different places on the internet? Then mutt's what you need. Huge mail boxes that choke outlook? Mutt. I don't use it often these days but a mutt setup is super-handy.


How do you send html emails? write the tags manually and sending it as text/html ?


Generally Mutt users don't.

Personally I find the need for HTML email extremely unusual (maybe once every year or two?). My guess is that, for the average Mutt user, it's less than that.


I found this [1], but I think something along those lines would work.

[1] https://unix.stackexchange.com/questions/36881/sending-html-...


So mutt is still receiving releases? That's neat. I may have to revisit and see what's new in 2.0.

I went through a CLI-only phase where I didn't use a desktop environment. My "DE" was just tmux in a pseudo-terminal. The main reason I went back to a graphical workstation was a need for G Suite and Slack's horrible support for Weechat. Mutt was a critical member of the toolkit and I have fond memories of hyper productivity. Search was crap though.

If you're thinking about doing this, I recommend trying to live in a VM running Fedora Server or Arch or Ubuntu Server or something. If you find yourself unable to use a CLI browser for some reason, at least you don't have to tell work "sorry I gotta install my OS before I can look at <thing>" (that doesn't go over well).


I you revisit, be sure to check out notmuch as the search backend. It is super fast and has a nice and powerful search syntax.

[1] https://notmuchmail.org/notmuch-mutt/


I recommend you take a look at neomutt. Neomutt integrates notmuch by default and has a lot of the patches that mutt never merged in it.

https://neomutt.org/feature

https://github.com/neomutt/neomutt


how is the folder handling with notmuch in mutt?

i use sup (which is where notmuch came from) because it provides on-the-fly virtual folders where emails match a search query or a tag. i can also open multiple folders at once and switch between them without loosing state. it's been a while, but when i last used mutt it could not do that


Mutt cannot do multiple folders and keep state.

Coincidentally, I used to use sup and it is my favorite mail client that I've used. At the time there was no way to sync changes back to maildir or some format that IMAP could sync. Is that still the case?


No, maildir syncback has been merged for some time already (https://github.com/sup-heliotrope/sup/wiki/Using-sup-with-ot...): changes in sup are sent back to maildir, which is synchronized back to IMAP as usual !


it is worth pointing out that very recently sup development has picked up again by a few contributors


I still regularly do work without an X server booted up, and I feel it's a tremendous aid to my focus and productivity. And to an extent my happiness too: I feel like I'm using a computer again, something I've loved since I was very young, and which lately has taken a back seat to apps (mostly web-based) built around the metaphor of being in a series of crowded, noisy rooms.


Mutt, plus a notmuch backend, has excellent search capabilities. Operators meet or exceed what Gmail offers both in terms of speed and features.

Neomutt probably has better integration. I've never tried because I switched to the Emacs Notmuch MUA package.

I find the integration of Emacs packages much better than ncurses CLIs which, unlike non-interactive Unix applications, tend to compose badly. They are little silos.

Mutt has an excellent UI design, though. Once learnt, it's really fast to use.


Search was crap?! It's one of the main reasons I stick to mutt - being able to rapidly search through all my emails using several criteria is great. I find gmail and outlook terrible in comparison. I also have not-much configured, but I find I don't need it too often (just when searching the body text).


I also have fond memories of mutt, and some of my coworkers still use it on our IMAP server. I've vacillated over the years between mutt, Thunderbird, and Gmail depending on the company and capabilities. Recently I've played with using Outlook desktop (after a week or two with Outlook for the web) because of better teams and meetings integration (it's an ISP, we have our own HA dovecot cluster and an exchange system for employees, but we can get mail in either reliability with some procmail and exchange rules). The only thing Outlook has over Thunderbird or mutt are the aforementioned exchange integrations, buttery smooth cursor movement (it had been so long since I used MS Word I forgot about that, and it's nice), and the ability to set conditional rules to not just set color on messages in a folder, but font and font size. Having unread items not just a different color but bold and bigger is pretty cool. Not sure how mutt would support that, but I think some newer terms might open up the capability...


I tried to go CLI only at one point but never quite got there.

It did, however, teach me a healthy appreciation for the benefits of pushing parts of my workflow into the terminal whenever possible. The terminal is distraction-free, highly scriptable, and your mode of interaction is always the same (type things!). Afterwards I ended up switching to Xubuntu + i3wm and never looked back. I've still got a copy of Windows 10 on a random machine and I interact with Macs occasionally, and it really seems like little of importance has been introduced to the graphical desktop paradigm since at least Windows 2000.


> If you find yourself unable to use a CLI browser for some reason, at least you don't have to tell work "sorry I gotta install my OS before I can look at <thing>" (that doesn't go over well).

Can relate so much. Tried to go CLI only, switched back, but I settled to use a WM (sway).


> "sorry I gotta install my OS before I can look at <thing>"

Sorry if I'm missing the point, but why does using a terminal program require a whole separate OS? Or, conversely, why does using a graphical program force you to ditch all your terminal programs? Couldn't you just switch to a separate pseudo-tty, or even just use a maximised terminal window? You can switch between terminal programs with the usual tmux key bindings while still being able to "exit" to the GUI when needed.


This was the reason for me personally switching from alpine to mutt. One day I realized the only place I could find a copy of the source was on my own harddrive and that's when I bit the bullet and started figuring out the mutt UI/config.


I started with pine about 20 years ago and have been using it since then (through the pine -> alpine -> re-alpine -> alpine cycle) but have never used Mutt. What are the advantages of mutt compared to alpine?


> The main reason I went back to a graphical workstation was a need for G Suite and Slack's horrible support for Weechat.

These are web apps? You should be able to have CLI-work style and still browse the web. Use something like Vimium for Firefox and a WM.


It sounds ('CLI-only') like GP I was trying to exclusively use Lynx or similar, no GUI at all, browser or otherwise.


I use weeslack for my Slack integration, and still live just about 100% in the terminal.



I switched to neomutt a while ago.


How is it?


Fine. With mutt I would need bunch of patches anyway, here they come from the upstream.

They do have a bit of regressions from time to time, but they are fairly quick to respond with workarounds and fix it.


> Automatic reconnect to IMAP on error

Really looking forward to this. This was the one notable issue I had with mutt: if you lose your connection, it would forget which mails you marked as read, deleted, etc.


Its been a while since I used Mutt extensively (lets say about 15 years) but IIRC you could use $ to sync the changes, though you'd have to do it manually.


You can, but you have to do that manually while you still have your connection. I've gotten into the habit of doing that frequently while triaging mail, but I'd rather not have to.


That's what drove me initially to aerc + notmuch


That works? One of the main reasons I'm considering switching from aerc to mutt/something else is because IMAP keeps disconnecting.

Seems like the number 3 item you would want to nail down in a mail-client. But I'm sure it is just me that haven't looked into it yet. Unfortunately I just can't find time for it for the time being.


I think it is much lower on the list for terminal-first users than that, as they use Aerc or Mutt solely for reading and writing mail on the local machine and rely on other programs to sync the incoming and outgoing mail with the external mail server. I use Aerc, but also msmtp for sending and mbsync for receiving mail, for instance. This aligns more with the Unix philosophy of combining multiple small programs that do only one thing well into a personalized workflow.


I don't want to debug multiple programs when mail isn't getting sent or received. I don't want to have programs that think they've sent mail when they've just handed off responsibility to some other program. And, closely related, I don't want to have incidents where mail isn't getting sent and I don't know that.

I'd like a mail client as capable as mutt, but that also works whether I'm online or not, handles mail sync automatically in the background while I start processing those mails, lets me browse and search and draft responses offline, and has a built-in idea of "has that mail been sent yet?" rather than just saying "sent" the moment a mail goes into another queue the client doesn't manage without giving any status for when it actually gets sent. And all that while also leaving mail on the server so that other mail clients such as K-9 mail on my phone (which can do all those things) can also process mail.

Sometimes I like "programs that do one thing well". But doing mail well involves taking full responsibility for mail.


>I'd like a mail client as capable as mutt, but that also works whether I'm online or not, handles mail sync automatically in the background while I start processing those mails, lets me browse and search and draft responses offline, and has a built-in idea of "has that mail been sent yet?" rather than just saying "sent" the moment a mail goes into another queue the client doesn't manage without giving any status for when it actually gets sent. And all that while also leaving mail on the server so that other mail clients such as K-9 mail on my phone (which can do all those things) can also process mail..

FWIW aerc does have all this built-in, but also offers the possibility to just hand off responsibility to external programs. As far as I'm concerned, I use the built-in email sender. Unfortunately, the built-in emails fetcher does not work well with poor internet connection or offline. That's why I use offlineimap to sync maildirs every 5 mins, and notmuch is just the icing on the cake for fast search/indexing.


I don't buy that. Either it is important or you don't have the feature at all. The Unix philosophy isn't to do everything and some things poorly and let the users figure out which parts are good and which are bad that needs a separate application to do it properly.


This, and with notmuch it's awesome (the search is close to if not better than Gmail's one). I find myself less relying on the web interface of Gmail, except for HTML emails sigh. I know I can just install socksify, but it isn't packaged in my distro, and I already manage too much programs installed from source. I might write a blog post about this setup one day.


Does anyone use Mutt with gmail or alikes today? Is it worth it?

Mutt was my preferred email client back in 2000-2004. But gave it up for Gmail web interface.


Yes, set up with Luke Smith's excellent mutt Wizard [0].

Contrary to the other point, having a local copy of my emails gives me a sense of security and I can set up scripts using normal scripting tools to move stuff around. `notmuch` is good, but actually I can meet most of my searching needs with a 'limit' filter.

[0] https://github.com/LukeSmithxyz/mutt-wizard


FWIW, Luke Smith has some problematic political views (as in far right/alt-right). You do you but I personally avoid sharing/using any of his content for that reason.


Yeah, he also did some excellent YouTube videos and tutorials which helped me get into i3 and mutt, but I find it hard to recommend them now because they're mixed in on his channel with some weird ranty videos that, at best, don't have much to do with tech.

I still recommend mutt Wizard though because it makes it so much easier to get everything set up. I feel like it should be absorbed into neomutt or similar because it feels like such a basic thing to get right.


I use Mutt with gmail. For a while I hooked it up to read off the internet, but eventually I switched to OfflineIMAP, then to isync. For sending I us msmtp. Both are pretty straightforward to configure, especially compared to mutt itself. I'd definitely recommend using notmuch if you do decide to keep that local copy of your mail, the search is pretty incredible.


What was the advantage of isync? I'm currently using offlineimap.


Last time I tried it, and I heard that's still the case, offlineimap had some sporadic instabilities that have not been fixed for years. I don't remember the exact details, but it just stops working in some situations and you have to restart it.

isync/mbsync are rock-solid on the other hand and were really easy to set up.


I find that isync is much faster, and much more reliable. Offlineimap would often run out of memory, or silently fail dozens of times in a row.


I've not seen it OOM, but I have 64GB of ram.


isync doesn’t let the fan of my laptop cpu run. Yes, no joke, I could detect the running of offlineimap by the fan.


Definitely worth it. Two reasons: first, you can use it using your muscle memory (think vim), and second: it's fast. Many people nowadays are used to this (usually) slight lag in whatever you do via the web interfaces, but using something that reacts immediately is much nicer, at least to me.


> Does anyone use Mutt with gmail or alikes today? Is it worth it?

I use mutt with gmail account (and with everything else, although primarily I use my self-hosted email server). Works fine with gmail.

> But gave it up for Gmail web interface.

The web interface is so inferior, I can't imagine using it by choice (I'm forced by $EMPLOYER to use the gmail web interface, so I suffer through that pain daily).

Anywhere that I have a choice, I use mutt.


It's almost unthinkable to me that you consider/ed gmail to be better. mutt was miles ahead of gmail already back then, and the difference just grew with the various gmail redesigns.

I'd like to know why you gave it up for gmail. Is it because of the way terminal programs look?


I know it's all opinion but I find I quite like using html mail and not having to worry about configuring a bunch of stuff on Gmail to get done what I want to do. As far as search it has always been sufficient and the speed is okay for what I do, I rarely get more than 10-20 emails a day.


Mutt and Gmail work fine together. I always find myself opening up the web UI when I need to search, though. I’ve taken a a few steps down the notmuch path a few times but it feels like such a big Thing to have to set up a whole local mail system just for search.


I'm considering it now that my nostalgia is flaring up.

One thing that was a pain point in the past was offline use. If your mail provider is IMAP only then you need to hack stuff together to use offline. As a paranoid freak I prefer to have offline copies of everything.


> I'm considering it now that my nostalgia is flaring up.

That's one valid reason but it's unfortunate IMO to see it that way.

Mutt (and similar, although I use mutt) are just so much inherently better than any web interface can ever be. The configurability and access to pipe content to other processes cannot be matched.


It's pretty easy to set up OfflineIMAP or isync or similar to sync a local copy of your mail (in fact, this is a great way to back up your IMAP mailboxes whether you use mutt or not!).

Then you just point mutt at the local copy instead of the IMAP server and it doesn't matter if you're online or offline.


I don't remember if OfflineIMAP was the tool I tried or not, but at the time it was quite challenging. I always suspected that rate limiting on the mail server was blowing up the download tool, but I couldn't figure it out. This was a fair number of years ago though, so things are hopefully better now.


I’m using gmail + mutt + isync. Because some people recommend offlineimap, I used it before and isync is better in any regard.


offlineimap works well with mutt to have everything accessible offline


How about for the xoauth imap connection stuff gmail requires?


Getmail supports oauth.

I use these tools for email: Getmail -> sortmail -> mutt

Getmail just gets the email (pop or imap). sortmail is an MDA I wrote to replace procmail. It basically just filters emails into maildir folders. Mutt to read and respond to the emails.


Yes.

> alias gmail='mutt -F ~/.mutt/muttrc_imap_gmail'


This is awesome! Mutt holds a very special place in my heart, even though I haven't used it in like a decade. I did use it for a very long time, and it was fantastic! Well into the 2000s I had UUCP delivering email to postfix on my laptop, read and sent using mutt. UUCP was extremely capable for handling e-mail on a laptop, whether disconnected because I was traveling and on a CDMA connection, on a spotty wireless, or at the coffee shop.

I have kind of given up on e-mail... I don't even check it daily for work, and a few times a week personally. I use gmail because they do a really good job of spam filtering and I don't have to deal with infrastructure.


I use mutt for my self-hosted email server. Glad to see it's still being developed!


this one is very welcome:

> If you sometimes forget a pattern modifier, you can type Tab after the ~ to get a list of pattern modifiers.

these are useful to quickly filter for a string in the From: or any other header field


The conditional option setting with MuttLisp will be very useful


I was often frustrated there wasn't a complete scripting language integrated with Mutt, so people had to make hacks to do things in a fully scriptable fashion.

I put together a console based client, inspired by mutt, but fully developed and configured with Lua to resolve that problem - https://lumail.org/

I had a good few years working on it, and really liked the way it was "modal". Sadly I never quite got enough users to be worth continuing with. These days I pay for gsuite instead, and use offline IMAP only to keep a backup of the remote mails.

It was an interesting thing to work on, and I've been following the new aerc client to see what happens there. I'm sure there is still room for new console based mail-clients, perhaps mine was just a bit too unfamiliar!


That’s a real shame that lumail didn’t take off (I had never heard of it until now). I agree, embedding something like Lua or even Guile into Mutt seems like it would be very useful


Automatic reconnection is the last feature I've been missing. At this point, from my point of view, mutt is complete.


i see your point


I like mutt and use it for some accounts, though there are ergonomic issues that bug me.

For instance, there is no consistent way to cancel actions / exit prompts (or none that I noticed), while pressing <Esc> does nothing. I know terminals have issues with <Esc> but even double <Esc> just gives you ^[^[.


It’s control-G. Effective use of Mutt requires at least skimming the manual.


These days I don't use mutt much because I need to mark some emails as 'remind me later' and bluemail and gmail offers this functionality. Is there a mutt alternative?


Use shift-F to mark the email as “flag”. It's exactly the same functionality as Gmail's starring, and maps to it over IMAP.


That's not the same function as "remind me later", which actually does remind you at a future time.

I use shift-F in Mutt to flag emails. I then lose track of them, because I have too many flagged emails!

Task-based tagging might be better (using Notmuch) but I haven't found a good workflow for this yet.


Slightly tangential; I would love to use Mutt but the work email is on Exchange, which requires 2FA, and I haven't been able to figure out how to download the emails.




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

Search: