My dotfiles are online if anyone wants to take a look at the actual configuration I use:<p><a href="https://bitbucket.org/sjl/dotfiles/" rel="nofollow">https://bitbucket.org/sjl/dotfiles/</a><p><a href="https://github.com/sjl/dotfiles" rel="nofollow">https://github.com/sjl/dotfiles</a>
"Mutt certainly isn’t the prettiest email client around, and its setup/configuration process is one of the ugliest out there. But once you get it set up it’s got a lot of advantages over many other email clients."<p>Stopped reading, right there. Why are we still fighting with things that are difficult/ugly to setup/configure? Could have been the best tool ever written, but if I have to spend a half a day figuring it out, and there are other tools that do it better, I'm out.
The weekend has <i>just</i> passed and you submit this on a Monday? Really? Now I'm going to wake up tomorrow, heavy with sleep after spending the wee hours tweaking my configuration and trying out "contacts", "offlineemap", and the sidebar patch (that I thought I didn't want).<p>Thank goodness I already have mutt installed and configured (almost) to my liking.
I doubt I have the need to customize GMail to justify doing this amount of work...but this was a very well put-together guide that goes beyond just "how-to-replace-Sparrow" to showing the underpinnings of how e-mail works and the thought process behind a hacked-together interface and service. I'm bookmarking this as an example of a thoroughly useful and informative guide. Thanks for making this.
This is exactly the sort of article I want to see on HN. It's thorough, and instead of dropping a pile of dotfiles on github and saying "here you go", Steve goes through everything and explains what's what and why.
Sparrow is still getting small updates on both iOS and OS X. Mutt hasn't been updated in a few years. I'm not sure one is more dead than the other.<p>Also, one app became loved because it has a really innovative UI and the other is an app that eschews a modern UI. I'm not sure many people will logically make the leap from Sparrow to Mutt. More likely, people will gravitate back to to gmail.com, which should be getting a lot of improvements from the Sparrow team in the future.
Rather than using your gmail password with offlinemap, albeit protected by keychain, I suggest creating an application specific password for offlinemap. See
<a href="http://support.google.com/accounts/bin/answer.py?answer=185833" rel="nofollow">http://support.google.com/accounts/bin/answer.py?answer=1858...</a>. This is actually required if you switch to two factor authentication and still want various apps to access your google data.
I wrote an emacs-based e-mail client "mu4e";
see e.g. <a href="http://emacs-fu.blogspot.fi/2012/08/introducing-mu4e-for-email.html" rel="nofollow">http://emacs-fu.blogspot.fi/2012/08/introducing-mu4e-for-ema...</a><p>Its user-interface is a bit mutt-influenced, but it's fully query-based and very fast, and of course you can extend it using elisp. A fairly young project, but it's near-fully documented, and the manual has instructions on how to set things up with Gmail.
It would be great if someone could write good text email client. I recently tried some old ones I used in the 90s again, and the quality of software has improved a lot since then.<p>Mutt:<p>- gets SSL errors with MS Exchange (gnu bug?), doesn't retry the connection and then stops displaying all your email.<p>- could never get html to text rendering working, almost all emails blank<p>- gave up on mutt...<p>Alpine:<p>- did actually covert html emails to text fine, most emails are readable<p>- no key rebindins (sic), I have ^T bound to new-window in tmux, too bad that's the <i>only</i> way to run spell check in alpine is to press ^T<p>- lose connection to IMAP server causes already downloaded mail to no longer be displayed on the screen<p>- quirky LDAP lookups, I can't type peoples full names, only their login names, then it resolves them fine<p>- tried to put my IMAP folder first on the list in the config file to make it faster to get to my inbox, crash<p>- tried to have it startup in my inbox using the startup key sequence, crash<p>- if there's one letter in my drafts folder, it asks me every time if I wan't to continue it when I compose a new message<p>- asks me every time if I want to reply to everyone, and if I say yes, it includes me(!?) so I get a dup email<p>- has pine's legendary inconstant key bindings (or is that a feature?)<p>- sending a message hangs the whole client until it's been sent<p>- no real concept of a deleted folder, just puts a D next to it and leaves it displayed on your screen, so you have to expunge manually if you don't want it to clutter your screen<p>- all in all, alpine is usable though, but there's plenty annoying things in it we used to think were normal back when pine was popular.
If you don't want to store your mail locally, but want nice search functionality, for Google Mail users there's this patch:<p><a href="http://people.spodhuis.org/phil.pennock/software/mutt-patches/patch-mutt-gmailcustomsearch.v1" rel="nofollow">http://people.spodhuis.org/phil.pennock/software/mutt-patche...</a><p>It'll do search server-side, which means that you have Google's full text search without storing mail locally.
for those on linux, here's a simple .mailcap that i use:<p><pre><code> text/html; w3m -M -T text/html %s
image/*; feh -F %s
application/pdf; okular %s
application/msword; oowriter %s
</code></pre>
(i also use procmail, with procmail-lib, to filter into monthly mailboxes, and the wonderful mairix <a href="http://www.rpcurnow.force9.co.uk/mairix/" rel="nofollow">http://www.rpcurnow.force9.co.uk/mairix/</a> to provide fast search. in fact, for me, mairix is the most important part of all this if you want useful, fast email - but i haven't used notmuch so can't compare)
I use maildir-utils instead of notmuch as an indexer; notmuch had odd failure modes for me that weren't worth trying to debug.<p>mutt can also use IMAP/SSL directly, and I do that for some accounts, where I don't want to have local storage.
I switched back to Mutt a few months ago after trying Mail.app (filtering wasn't up to my requirements, would hang often) and Thunderbird (bloated and slow under load). It's been a champion.<p>urlview.sh is pretty awful, mis-parsing urls constantly for me. I then discovered extract_url.pl[1], which is much, much better.<p>offlineimap likes to hang randomly - mail just stops coming in and the process never stops, requiring me to remove the lockfile by hand, then kill the process. I haven't found a replacement for it, unfortunately. Definitely open to suggestions on this front.<p>The linked view_attachment.sh file has problems, for example, with files with multiple dots in the filename (among others). I have made a few tweaks[2] to it to make it more robust. It still has a few issues, but I've found it to work better for the most part.<p>msmtp is probably unnecessary nowadays if you have a typical setup. For GMail, add the lines:<p><pre><code> set smtp_url = smtp://your@email.com@smtp.gmail.com:587/
set smtp_pass = mah_password
</code></pre>
to .muttrc and you should be ready to go.<p>I also wrote a very small, crappy applescript launcher to launch an iTerm with mutt from the OSX dock[3]. It won't open a second copy if already running, but I haven't been able to figure out how to display a badge on the dock to denote unread mail. It may not be possible.<p>[1] <a href="http://www.memoryhole.net/~kyle/extract_url/" rel="nofollow">http://www.memoryhole.net/~kyle/extract_url/</a><p>[2] <a href="https://github.com/xxx/dotfiles/blob/master/osx/mailcap/view_attachment.sh" rel="nofollow">https://github.com/xxx/dotfiles/blob/master/osx/mailcap/view...</a><p>[3] <a href="https://github.com/xxx/dotfiles/blob/master/osx/mutt/mutt-iterm.scpt" rel="nofollow">https://github.com/xxx/dotfiles/blob/master/osx/mutt/mutt-it...</a>
This is a great post about a very finely tuned Mutt setup. I always enjoy reading about high customized environments. I am someone who would love to use Mutt but I get so much HTML only email it's sadly impossible for me to do so. (Newsletters and misc friends who think large HTML footers are cool.)
I use a similar setup, but I've been bitten by having Mutt and OfflineIMAP accessing the same Maildir concurrently. So instead, I run a local copy of Dovecot to expose a local IMAP server that both Mutt and OfflineIMAP talk to my Maildir through. This also means that I can trivially set up things like Thunderbird or MacBiff, using the same local IMAP server. Rube Goldberg would be proud.
I do almost exactly the same thing except I use getmail as my MRU and I have it checking many different email accounts (gmail, work mail, other work mail, etc). mutt is the best email client I've ever used. I like taking control of my email, using my own paid-for smtp service (tuffmail) and in general not relying on hosted email providers. procmail or maildrop are very handy too.
I have spent hours and hours configuring my `mutt`, `offlineimap`, `putmail.py`, but I have since grown disenchanted. In my experience, `offlineimap` is annoyingly prone to crashing without any indication. Thus, checking mail within `mutt` becomes unreliable. However, my favorite aspect of `mutt` has been and remains being able to send e-mails very quickly and easily through Terminal.<p><pre><code> echo "Hello World!" | mutt -s "Test E-mail" -a "file.txt" whomever@wherever.com
</code></pre>
Therefore, I now use `mutt` exclusively for <i>sending</i> mail and using Gmail.com for reading and searching mail.
Tried mutt, but I never really liked.<p>Nowadays I use 'Sup, but I might go (back) to Alpine, because its best feature - the indexer - is also its major drawback, since it hits the disk pretty heavily, which my VPS providers don't care for.
This was great. I'm a big fan of mutt. For all the advances in GUI software, my favorites remain at the console: mutt, slrn, newsbeuter, links, and so on.<p>I wrote a guide to Mutt as well. It's geared for the less-tech inclined than your typical ycombinator - but if you know any Linux/BSD noobs interested in getting their feet wet, my Woodnotes guide will give them a gentler splashdown than this advanced guide to setting up Mutt. <a href="http://therandymon.com/content/view/42/98/" rel="nofollow">http://therandymon.com/content/view/42/98/</a><p>Well done, Steve - great work on this article.
There's one and only one reason that I haven't ever switched to a terminal based email client.. HTML messages. I want to see images and formatted text, not an unholy mess of tags and other detritus the program can't render.<p>As much as I like Alpine, being stuck on the terminal is a total deal breaker. It's 2012 ferchrissakes - why are we using email tech that's stuck in the 80s? Why does "modern" have to be at constant odds with "simple and functional"?
may i suggest mu <a href="http://www.djcbsoftware.nl/code/mu/" rel="nofollow">http://www.djcbsoftware.nl/code/mu/</a> for indexing?<p>i use it with these macros<p>macro index <F8> "<shell-escape>mu find --clearlinks --format=links --linksdir=~/Mail/search " \
"mu find"<p>macro index <F9> "<change-folder-readonly>~/Mail/search<return>" \
"mu find results"
Great article and very timely for me, I just got Mutt working this weekend with my Gmail account. Picture of setup (showing Spam folder).<p><a href="http://i.imgur.com/l4atq.jpg" rel="nofollow">http://i.imgur.com/l4atq.jpg</a><p>I haven't added all the features the author pointed out (like server-side search) so excited to make it even better.
Anyway to make mutt(or any cmd mail reader) use the Mail.app database, stored in ~/Library/Mail? I already have Mail.app configured, and it has downloaded all my gmails accounts into the plain text emlx format? Also have 10gb+ of mail, and rather not have two copies of it.
I recommend mu (<a href="http://www.djcbsoftware.nl/code/mu/" rel="nofollow">http://www.djcbsoftware.nl/code/mu/</a>) to search emails. It can be integrated with mutt. But if you are an Emacs user then it even provides a mail client (mu4e).<p>And you can write scripts for it in Guile.
I would miss HTML formatted emails after a while.<p>A promising alternative is Muttator (<a href="http://www.vimperator.org/muttator" rel="nofollow">http://www.vimperator.org/muttator</a>).<p>Muttator is from the same team that made Vimperator, a Firefox add-on that changed the way I browse the web.
Steve, I was just looking at Mutt this weekend. Thank you so much for this blog post. It will give me the push to just go and do it. Learn in the process too. How can one say no to that?
> Now that Sparrow is effectively dead<p>Sparrow 1.6.4 was released on September 11, 2012.
Mutt 1.5.21 was released on September 15, 2010.<p>You keep using that word. I don't think it means what you think it means.
if you want to use your CardDAV address book with mutt, you might want to try out pycarddav <a href="http://lostpackets.de/pycarddav/" rel="nofollow">http://lostpackets.de/pycarddav/</a> . If you want features like write support, try the write_support branch from github <a href="https://github.com/geier/pycarddav/" rel="nofollow">https://github.com/geier/pycarddav/</a> (you can not really edit vCards just yet, but you can add email address directly from mutt)
"...it’s got a lot of advantages over many other email clients."<p>The advantages were never enumerated. Most of the article was spent teaching you how to program ^H^H^H configure the thing.<p>What are the advantages?