
Switching to the Mutt Email Client - ingve
http://nullprogram.com/blog/2017/06/15/
======
preek
Interestingly, I went the other way. I used to have mutt for years, then went
through a dark phase (macOS Mail.app, Evernote and Things) and finally
concluded to Emacs with mu4e.

Integrating mail with Emacs was the best idea ever, because Emails include
either todos or serve as reference in projects. Creating todos from Mails as
well as linking to them from org-mode is only a shortcut away.

I have never had a more easy to manage and productive todo management system -
and it's all text, so there will never be breaking changes or paid upgrades or
incompatibilities between tools that I cannot fix.

~~~
TeMPOraL
Do you use GMail? If so, how much pain is was to configure your setup to
connect to it reliably? And handle multiple e-mail accounts?

I ask, because in the past I toyed with switching to using Emacs as my e-mail
client, but aways got stuck on configuring the whole setup to work reliably
and seamlessly.

~~~
jolmg
One trouble I had while configuring for my gmail account was the lacking
support for Google's XOAUTH extension for SMTP and IMAP authentication. After
a little research, I found that you can create app passwords[0] in Google
after you've activated 2FA. This allowed me to use standard PLAIN
authentication with passwords that don't allow for management of the whole
google account.

[0] -
[https://myaccount.google.com/apppasswords](https://myaccount.google.com/apppasswords)

~~~
TeMPOraL
Yeah, I just bounced off that when trying out OfflineIMAP; thanks, setting a
new app password helped.

------
oblio
I feel that the folks that do this aren't working for big companies.

In most big companies you can't really afford to do any email client
shenanigans. You probably need to see HTML emails, handle calendar invites,
etc.

~~~
simias
Calendar invites are just attachments, you can handle them in external scripts
and programs any way you like. Personally I just display them in plain text
next to the email, but if you wanted to interface them with your calendar
application I'm sure there are plenty of scripts doing that out there.

As for HTML email, what I take from this entire thread is that I either I've
been extremely lucky so far or people in general vastly overestimate the
importance of it. For one thing, most decent services will send
multipart/alternative emails that are suitable for plain text display.

For instance Amazon's emails use rich HTML features, but they also have a
text/plain alternative that works perfectly in a text client and carries the
same informations. And when there's only HTML the vast majority of the time
it's still mostly text with some light styling and it works just fine
(sometimes better) in text mode.

The main problem working in big companies and using mutt as my client is that
most of the time those systems have a 2nd class non-compliant IMAP servers and
you have to go through oops to reliably receive and send your email. I always
managed to get it to work after some tweaking though.

~~~
uiri
You're right that most services _do_ send a multipart message with a sane
looking plain text version.

The biggest issue with that is when the sender of the email doesn't actually
check that the content was converted properly. Most notably, hyperlinks in the
HTML get converted to the text of the link and the URL in question is no where
to be found.

Even if most HTML emails send perfectly created plaintext versions (and yes,
Amazon is great at this), you'll remember the crappy unreadable HTML-only
emails far more than the normal looking multipart ones with proper conversion
of the HTML to plaintext.

My first job in high school involved formatting and sending out email blasts.
Even at that point, I was aware of potential formatting issues and I took care
to make sure that the automatically​ generated plaintext version had all the
same content. For that reason, I have no patience for HTML-only emails crafted
by grown adults.

------
HurrdurrHodor
"fiddling feels a lot more productive than it actually is"

Best thing about this article. Unfortunately he didn't derive anything from
this wise statement.

~~~
jeremy7600
The logical extension is that he only _feels_ more productive after his
fiddling and this new setup he came up with, not _actually_ more productive.

------
MikeTaylor
This is all very nice, but the fact that the article doesn't even _mention_
images or attachments shows how divorced it is from the reality of most
people's email experience.

I happily used emacs as my mail-reader from 1989 to about 2009 (first RMAIL
mode, then VM). The increasing importance of non-text formats made it
cumbersome, and I somewhat reluctantly switched to GMail. It's hard to imagine
switching back now.

~~~
chii
the only images i find are either from spammy adverts or tracking pixels.
Normal people don't put images in emails.

As for attachments, you can open them in their native programs just fine.

~~~
user5994461
Normal people absolutely put images in their emails.

Email clients like gmail/outlook put images in the content of the email (NOT
an attachment) when you drag/drop files onto the window or when you copy/paste
a picture inside the mail.

There was a time when this all went to attachment, that is not the case
anymore.

~~~
simias
Those images are effectively attachments that are referenced in the markup of
the HTML. You can still view them just fine as attachment in mutt.

Sure it can be cumbersome if the various images are interleaved with
commentary, but in my experience 99% of the time it's "Here are the
pictures/documents you wanted" followed by a few attachments (inline or not).

There's a very, very small proportion of emails where HTML is actually
mandatory to make sense of the contents. And for those I can just tell mutt to
load the HTML in my web browser. I very seldom have to do that though, not
enough to be a real nuisance.

------
szastupov
I spent quiet some time setting up mutt or trying to make a real IDE out of
vim or Emacs, but in the end it's just cargo cult and waste of time. There a
modern email clients, IDEs, polished operating systems, etc., all built in
this century. There is absolutely no need in wasting time scoring nerd points.

~~~
rekado
Emacs is not just an editor and mention it next to vim or mutt indicates that
you misunderstand what Emacs tries to be.

Emacs gives you tight integration for everything that could possibly be
represented as a buffer. Emacs is programmable glue between applications, a
better "shell".

The desire to do _all_ things in Emacs is because Emacs lets you do it and
because it reduces context switching. For more on why one would want to make
Emacs do things that are not traditionally the job of an editor, see also
[https://elephly.net/posts/2016-02-14-ilovefs-
emacs.html](https://elephly.net/posts/2016-02-14-ilovefs-emacs.html)

~~~
szastupov
I get the point about Emacs being a OS, but don't you think it's kind of a
dated clunky OS? Like "Mac OS 9" was, lacking memory protection and pre-
emptive multitasking. Why would anyone want to be limited by technology when
the rest of the world is moving forward?

~~~
icebraining
The roots of the current macOS are much older than the classic Mac OS. Is that
moving forward? What does it even mean?

~~~
lottin
It means that the OP doesn't know that he's talking about.

------
xixor2
I've found every email client, mutt included, to be exceedingly difficult when
trying to view your replies in the context of email thread. Gmail is the only
one that does this seamlessly. If you get a ton of email, but never reply, or
fire off so many replies that you never look back on them, maybe mutt works
for you. For me the value of email and email clients is viewing the
conversation as a thread, which importantly, must include my replies. You can
find a few blog posts about configuring Mutt this way, it's complicated,
convoluted, and always has side effects, like bcc'ing yourself. Outlook isn't
all that much better in this regard as well, it does show your replies, but
seems to loose them, or omit many from the thread.

------
stevekemp
Console based mail-clients are very powerful and fast to use. I was a long-
time mutt user before I started writing my own mail client, with complete
scripting provided by Lua.

Having a real scripting language allows a lot of useful features, at times
using mutt felt a little bit too constrained, although it has a lot of
features and is very very flexible in its own right:

[https://github.com/lumail/lumail](https://github.com/lumail/lumail)

~~~
worldsayshi
The article seems to think that everyone should switch away from HTML. But how
well does console clients deal with HTML emails. It's not like you can tell
everyone to stop sending you HTML.

~~~
vincentkriek
What made me switched back to Mutt was the ability to call subapplications to
show you emails. As I always have a browser running, I can tell mutt to show
it in firefox, which allows me to watch the HTML mail in all of it's glory
(instead of a lynx like dump in the console which I do not like).

~~~
matthiasl
I do exactly this too for the occasional mail that I really can't read as
plain text.

One concern is that I'm letting through all web bugs and, perhaps, outright
malicious HTML. If anyone has a solution for that, something like filtering
the HTML, I'd love to hear it.

------
pyre
When I was using mutt, one of the biggest things that I found missing was a
way to apply a filter to the _entire_ email without creating some sort of SMTP
gateway. I wanted the ability to compose my emails in Markdown, and run the
text/plain version through a filter to generate a text/html version. At the
time (though I'm sure this hasn't changed), you could only run various _parts_
of the email (e.g. only the text/plain part) through filters, but not the
whole email.

------
pmontra
I used some good emacs mail client up to 1995, then the need to read Office
attachments made me switch to some Windows client. HTML messages were not a
thing yet. The switch was a regression in functionality for at least ten
years, up to outbound filters in Thunderbird.

Edit: third question, how do you read mail on your phone? A couple of
questions for the author. How do you handle attachments and do you download
mail over POP3/IMAP or do you have your own server (hence SpamAssassin) ?

~~~
taeric
I quit reading work mail on my phone. Has been a huge sanity booster.

~~~
pmontra
Do you only have work email?

~~~
taeric
I still use the default Gmail client on the phone for personal.

------
Karunamon
One of Mutt's best uses cases in my opinion is for rapid processing of lots of
email.

Every now and then I'll go on a spree to zero out my inbox, and I find doing
this with mutt's search/tag/move/delete workflow is a lot faster than messing
around with my mail provider's application (Fastmail's, which is awesome, and
Gmail's, which is less so) or any other client I'm aware of.

------
juanre
I switched back to mutt 5 months ago, when my startup started to grow fast and
I needed a sensible way to deal with lots of email in multiple accounts. I
haven't looked back. I still have gmail as a back-end, but I use mbsync to
keep local copies of all my accounts, and msmtp to send mail.

Some resources I found helpful:

\- [http://stevelosh.com/blog/2012/10/the-homely-
mutt/](http://stevelosh.com/blog/2012/10/the-homely-mutt/) (good, but it
recommends offlineimap — I tried it and found it to be slow and buggy. mbsync
is much better.)

\- [https://github.com/cbracken/mutt](https://github.com/cbracken/mutt)

\- [https://lukespear.co.uk/mutt-multiple-accounts-mbsync-
notmuc...](https://lukespear.co.uk/mutt-multiple-accounts-mbsync-notmuch-gpg-
and-sub-minute-updates)

------
roylez
I used mutt for 10 years and then moved back to web mail. With inbox zero and
gmail keyboard shortcuts, processing email is so easy that mutt is almost an
over-kill.

------
k2enemy
If you like mutt, it is worth checking out neomutt
([https://www.neomutt.org](https://www.neomutt.org)). It is mutt with some of
the popular patches already compiled in.

~~~
vbernat
In Debian, mutt comes with the NeoMutt patchset.

------
daphreak
I use alot (to view and send mail) + notmuch (to index) + mbsync/isync (to
retrieve mail). It was painful to configure, mostly due to needing scripts for
syncing up tags with IMAP folders.

So far its been worth it. Instantaneous search of all my email ever. With a
properly configured mailcap file HTML emails are rendered ok (still have
problems with links) and attachments open in external programs as well.

Since `alot` is written in Python and can be extended with Python hooks for
almost any event it has been easier for me to customize than emacs.

~~~
jakeogh
Same here. I ended up writing a wrapper for alot (and a custom MDA):
[https://github.com/jakeogh/gpgmda](https://github.com/jakeogh/gpgmda) (just
split the client stuff into gpgmda-client, see the client side deps list)

------
chilicuil
I've been using mutt + vim + gpg + multiple gmail account for the last ~5
years and it's proven to be fast and easy to use, the only issue I have is
that it disconnect from time to time from the imap servers.

Follow my configuration: [https://github.com/javier-
lopez/dotfiles/blob/master/.mutt/m...](https://github.com/javier-
lopez/dotfiles/blob/master/.mutt/muttrc)

------
zafiro17
I'm late to this conversation: happy to see such a robust discussion on mutt,
but sad to see so many hardcore techies preferring gmail instead. To each
their own, of course, but mutt is one of the things I love most about *nix
platforms. I've got a chromebox that requires I use webmail (the Fastmail web
client is really, good actually) but elsewhere, mutt is the only way I can
handle email.

To the comment about mutt's poor addressbook support, you can use it with a
CLI/CUI app called addressbook that's quite good, and you can interface with
with other addressbook scripts to access carddav servers as well. I'm
intrigued by the links to carddav support.

For me, the HTML email and calendar invite issues are trivial, and grossly
outweighed by the efficiency I get with mutt by being able to select and act
on huge amounts of mail at once. The threaded view is essential. In a pinch, I
use sylpheed/claws or even Thunderbird. But after using mutt at home, going to
work where I'm forced to use Outlook makes me want to claw my eyes out: in my
opinion, Outlook has gotten worse every year, and is barely useable at this
point.

Meanwhile in mutt, I can do things like "delete every message between dates X
and Y and sent by person Z." It makes dealing with huge amounts of mail
effortless. I also tire of editors, and cycle repeatedly through emacs, vim,
slrn, and joe/jstar/jmacs - I love the flexibility. I combine it with
Fastmail/IMAP, and wouldn't dream of going anywhere else. Gmail isn't for me:
if it works for a lot of you, congrats - I'm past the point where I care about
converting others to what I consider "the one true way." Just wanted to add to
the conversation my opinion that the day they I can't use mutt for email is
the day I stop emailing, period.

------
BeetleB
Funny. Several years ago I went in the opposite direction: From mutt to
notmuch + emacs.

I used mutt for about a decade. I got sick of it being a bit too constraining
(e.g. could not auto-Fcc to multiple folders based on To fields). And frankly,
for the last 5 years of my usage, there was no real development.

notmuch is great for me. Using tags and Python, filtering incoming mail is a
lot easier than with procmail's arcane syntax. I've recently set up a
whitelist email system to get rid of unwanted emails. If a "new" person emails
me, they get sent to a web site to confirm their identity and their email gets
put into a quarantine folder (not inbox). If they go to the web site and
confirm, then my mail system moves their email from quarantine to the inbox
and their email address is whitelisted.

No more junk mail. The only mails that get to my inbox are from whitelisted
accounts.

Notmuch with tags made this a trivial thing to code.

------
angry_octet
I love mutt and tin (Network News, google it youngsters), and I persisted in
sending plain text email for many years, even signed it with pgp. I snickered
many times over the years as people got hacked by their own email clients. I
sent back 'Meeting Invite' emails to people who couldn't draft a proper
meeting request using words.

But ultimately when gmail came along I realised there was a better way. It is
only a problem that we give up our privacy and agency by using Google's
software and computers. And nobody was checking my PGP signatures anyway.

If you feel like you want to get the benefits of a nice email GUI, in a
sandboxed browser, but also want privacy and some control, check out Mailpile:

[https://www.mailpile.is/](https://www.mailpile.is/)

It isn't finished, but it is promising.

------
TurboHaskal
Ugh, no thanks.

I already use enough arcane tools on a daily basis due to my work. For mundane
stuff like reading and sending mail, I'd rather take a break and use tools
that even my tech illiterate father could effectively use.

It's really detoxicating to become a normie from time to time.

Disclaimer: Used to read mail with emacs back in the day. Tried mutt for a
while.

~~~
icebraining
Doing like the "normies" is switching from a decent red wine to piss beer. Not
what I would call detoxicating.

~~~
sotojuan
This kind of attitude is not helpful. Sometimes even tech people want things
that work "good enough" with no configuration or thinking involved. No need to
go full normie.

~~~
icebraining
I'm not trying to be helpful. But I find this worry about having to configure
CLI tools to be overstated. Just because they _allow_ you to configure
everything doesn't mean you have to. My personal email setup is: "sudo apt
install alpine", configure account info, done.

You don't even have to memorize the action keys, Alpine shows the available
actions for the current screen at the bottom, with helpful labels. It's
arguably _clearer_ than Gmail, with its unlabeled icons.

~~~
catdog
Sadly thats not the norm. A lot of those (otherwise great) text tools ship
with horrible defaults and suffer from poor discoverability. Sometimes it's
both combined and somebody actually contributed such an improvement but nobody
bothered to turn it on.

------
discreditable
Format=flowed is great. I just wish more clients supported it—for sending and
receiving. I've felt lately that I would even consider using the Windows Mail
app if it supported plaintext and f=f.

------
HugoDaniel
Very good. I could easily complement this with a calendar terminal app. Anyone
knows of a terminal calendar app to keep appointments ? (similar to the apple
calendar, or google calendar)

~~~
yosamino
I use (i)khal and vdirsyncer from here
[https://pimutils.org/](https://pimutils.org/)

------
wheresvic1
I switched to using mutt with Gmail and documented my story here:
[https://smalldata.tech/blog/2016/09/10/gmail-with-
mutt](https://smalldata.tech/blog/2016/09/10/gmail-with-mutt)

------
pjc50
I switched to mutt .. about a dozen years ago, from PINE. I still use it with
a pine keybindings file, and I still miss the better addressbook support of
pine.

Mind you, that's on a secondary email account; if I need to handle images or
attachments I forward it to gmail.

------
erikb
Headline: Huuuuugely important topic, give me content!

Opening the text: That looks like 5% of what people need to get started. If
you could summarize it to such a degree everybody would use mutt.

------
fusiongyro
I have been using mu4e for three years or so and not had any bugs or glitches
to speak of. I haven't experienced any stability issues with package upgrades
either.

------
mcguire
Goofy email question number 1: Is there a good alternative to SpamAssassin?
Something that doesn't use up quite so much memory?

------
thinkMOAR
I can't (by now couldn't) imagine running mutt on my mobile to read email.

So i just did to test, and it is horrible! :)

------
torrent-of-ions
I started using emacs for email back in my uni days. I used Dovecot to run an
IMAP server locally which would get my mail when it could. This made it very
quick in emacs because it wouldn't have to wait for any remote server.

But, unfortunately, I had to go back to Thunderbird. With the exception of
free software mailing lists, people simply do not know how to use email.
Bottom quoting is the default. We can thank Microsoft for that one, I think. I
can't understand why anyone thought it was a good idea to attach the previous
message to the bottom. Most people just accept this as the way email is and
never question how unbelievably stupid it is.

Then you've got all the HTML shit that people put in there. And the fact that
many clients are simply broken and don't write the headers correctly which
breaks threading. This is often confounded by broken servers which garble the
headers a second time.

It's amazing that something as simple as mutt or gnus (emacs) has everything
you need: threaded messaging and convenient composition. Inline quoting is
surely the only sane way to do quoting. Why would you assume the person you
reply to has deleted their own message? My message to you is right there in
the same thread in my client. Don't send it back to me. But do make it clear
which parts of it you are addressing (inline quoting). You had to laugh when
Google reinvented threaded messaging in the 2000s and advertised it as some
groundbreaking new thing.

So I gave up. I use a client that can deal with the stupid shit that other
clients spit out. I also bottom quote now. Why? Because if you do inline
quoting, MS Outhouse web client thinks that everything after the beginning of
the quotation is a copy of the previous message and folds the whole thing,
meaning your recipients get back what looks like an empty message. Really.

~~~
CPLX
> My message to you is right there in the same thread in my client. Don't send
> it back to me.

Dozens of times a day I add someone to the cc list when I'm replying to an
email. I suspect most people that have an assistant (or are one, or
collaborate with others in general) do this constantly.

It's an incredibly common use case. Should we all abandon this very common
behavior in order to avoid your scorn?

~~~
Gracana
I don't think that copying an entire email thread to someone is an effective
way of communicating. It's just a way to cover your ass. If you try to choose
your words carefully and explain the situation to your recipient, then _you_
have to take some responsibility for their understanding. If you just copy
them the 200 prior emails, you've "done your job." The responsibility to
understand is now theirs.

This is a great strategy for protecting yourself in business, but it makes
everything slower and more difficult for everyone else.

~~~
whoami_nr
>If you try to choose your words carefully and explain the situation to your
recipient

Not always. Sometimes it's just easier to communicate the context by just
copying them the thread. It might lead to shorter mails and less explaining.

------
jk2323
I tried Mutt a long time ago but did not like it (may not even got it to work
properly).

I always like Pine/Alpine. I only moved to Thunderbird, which is buggy and a
resource hog, after I had to handle a dozen email accounts.

Question: How are many POP/IMAP accounts are currently handled under
Pine/Alpine? Possible?

~~~
lightdot
I've been using multiple IMAP and SMTP accounts in Alpine for years, the setup
works nicely.

I've had some issues with how Alpine handles connection time outs though, as
it annoyingly blocks the UI from time to time. Need to look further into
this...

------
snakeanus
I switched to mutt after I was unable to view images with emacs (gnus) as it
did not bother (or failed) to un-base64 them before either trying to display
them in-line nor when saving the image.

