Skip to main content

Back to Mutt

For the last decade I have used web based email almost exclusively for work and personal use, and in due course have accumulated a rather large email archive. Lately I have been traveling a lot, and started missing offline email, especially since the flights don't have wifi in general, so I decided to augment my online email with an offline one.

My first choice was Apple Mail. The setup and mailbox imports were a breeze, and the interface is beautiful. However the mail client crumbled under the large number of messages that I have: color beach balls were a common sight, and the client seemed to leak memory--after an hour of use, the memory footprint was roughly 2.5GB which made matters worse.

I had a similar issue with other mail clients, and while talking to a colleague at work, I remembered that I did not experience these issues with a very old mail client that I used before: mutt.  So I went back to set it up.

Mutt is not for the faint of heart, but techies should feel at home setting it up and using it. The installation is a breeze on Mac OS X, thanks to the ports system:

sudo port install mutt-devel +compress +gnuregex +gpgme +headercache +imap +pop +sasl +sidebar +smtp +ssl +tokyocabinet 

The configuration is a different story. Like most Unix programs, the installation requires editing configuration files. The first is .muttrc, that you put in your home directory. I have lost my older .muttrc, so I had to recreate it from scratch:


set realname="First Last"
set from = "email address"
set imap_user = "email address" # for google apps email
set imap_pass = "password"
set smtp_pass = "password"




set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed ="+[Gmail]/Drafts"




set header_cache =~/.mutt/cache/headers
set message_cachedir =~/.mutt/cache/bodies
set certificate_file =~/.mutt/certificates


set smtp_url = "smtp://email address@smtp.gmail.com:587/"


set sort = threads
set sort_aux = last-date-received


set signature = "~/.signature
set editor = emacsclient"


set mail_check = 15
set timeout = 15
set imap_peek=no


set imap_keepalive = 900


auto_view text/html


set print_command = muttprint

Now Mutt is ready to use. There are a couple of conveniences though that would make life a lot easier. One is handling HTML emails that a lot of people tend to use these days. You can add the following to your .mailcap file in your home directory

text/html; lynx -dump %s ; nametemplate=%s.html; copiousoutput

which allows you convert HTML emails and display them as cleaned up text inside of mutt.

The second convenience is getting your address book from Google mail. Goobook script is excellent, and the installation instructions and download links are available from here.

Lastly is adding color to mutt. While you can edit the color scheme manually, it is usually better to start from a designed scheme and customize it. I like using Solarized, and you can download the schemes directly from GitHub.

And now you're ready to roll, even with a large mailbox.


Comments

Popular posts from this blog

Why good customer service matters?

I am not an Apple fan, but I do like their computers, and recommend them to colleagues and friends for a variety of reasons. They are well designed, and in addition to an excellent user interface, they run a flavor of Unix--which makes the life of computer programmers a lot easier. But most importantly, Apple's customer support is impeccable, that despite all the hardware issues I experienced in the past, I still recommend Apple computers. Let me explain why. A year and a half ago, I bought a Mac Book Pro for work. At the time it was the first generation unibody laptop, that had an i7 processor, lots of memory, and lots of disk space. Alas, like first generation models everywhere, it also had a lot of hardware problems. The most annoying of which was the screen randomly turning dark, with the hard drive spinning out of control. The only way to get out of this state was by forcing a reboot by holding down the power button, and losing everything I have been working on. At first

Kindle Paperwhite

I have always been allergic to buying specialized electronic devices that do only one thing, such as the Kindle, the iPod, and fitness trackers. Why buy these when technology evolves so fast that a multi-purpose device such as the phone or a smart watch can eventually do the same thing, but with the convenience of updates that fix bugs and add functionality? So, I was shocked when this weekend I made an impulse buy and got the newest Kindle Paperwhite—a special purpose device for reading eBooks. I was walking past the Amazon store in the mall and saw that the newest Kindle Paperwhites were marked down by $40 for the holidays. The device looked good in the display, so I went in to look at it closely. The Paperwhite is small and light, with a 6” screen that is backlit and waterproof.   The text was crisp and readable, and in the ambient light, it felt like I am reading a printed book. I was sold and bought it on the spot. At home I have struggled to put it down. The books

New ASUS RT-AX88U router

  I have been using Asus routers for many years, and have been pretty happy with them. The web interface is superb, and the firmware upgrades are timely and easy to apply, and over the last couple of years have introduced newer features that kept my old router relevant and functional.   After many years of service, my older router finally gave way, and started dropping Wifi connections randomly, especially when under heavy load. The connection drop happens whenever the kids have a Zoom meeting, or my wife and I are on work calls. Turning the laptop/iPad Wifi off and on again did not help, and we usually had to reboot the router to be able to connect again. Out of curiosity I looked at the CPU/memory stats of the router under heavy load, and could not see any issues. Even when all of us were in video calls, the CPU/memory did not rise about 50%. I could not see anything abnormal in the logs either. Online I saw that a lot of people had similar problems after upgrading to the latest rout