Migrate from Thunderbird to Mutt

I am contemplating moving from Thunderbird to Mutt (provided it is feasible) to move to a faster, simpler application.

My current Thunderbird set-up consists of multiple IMAP accounts (gmail and google apps). Only selected folders (read labels) in each IMAP account are stored locally. For all other folders, I glance through the headers and open a message only if I find it interesting. I also use folder bookmarks to navigate to folders quickly. I also move messages across folders with keyboard shortcuts.

Is it possible to replicate the set-up in Mutt? Can someone share/ point to a sample muttrc file that does the same thing? It would be great if the muttrc file is adequately commented.

On a side note, will it also be possible to import my messages from Thunderbird locally? That will save me considerable network traffic (about 2GB data stored locally).


Solution 1:

It is definitely possible to do all the things you want to do with Mutt, and much more.

Multiple accounts are possible with Mutt. Personally I have only used multiple gmail imap accounts, as described in this article here, but it is feasible to set them up and move between them. It is not necessary to repeat the information here, but it has a lot to do with how the 'account hooks' and 'folder hooks' are set up; the article explains it well.

However, you can achieve it without folder-hooks: see my answer here:

  • How to manage multiple imap accounts with mutt

To navigate between folders, you can use macros, as these well known ones demonstrate:

macro index,pager gi "<change-folder>=INBOX<enter>" "Go to inbox"
macro index,pager ga "<change-folder>=[Gmail]/All Mail<enter>" "Go to all mail"

More on how to move between folders and how messages can be moved across folders is explained here in great detail.

Indeed, messages can be exported from Thunderbird in the mbox format and then read in Mutt, as the Mutt wiki notes here. It will be necessary to install the Thunderbird import/export addon and then export the folders from Thunderbird in mbox format and then specify the folder in the .muttrc, by refering to these notes.

Referring to your question in the comments: When you load up your inbox or when you switch between folders Mutt by default only loads the headers from the server, which I think is what you want. It only downloads the actual message when you click return to view the message. Hence, why we cache headers and messages for performance, and usually most people have standard entries like this in the .muttrc:

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

For offline availability, you may need to pair Mutt with another program called offlineimap, which is available in the repositories; a discussion is available here and here.

I've put these hints together (from the wiki and my own personal rc) into a rough muttrc but you may have to test and modify it for your own purposes, and obviously add your own details, but it should be a useful starting point.

Solution 2:

Don't know how helpful can this be, but I've found something called Muttrc Builder, an online app to create .muttrc: http://www.muttrcbuilder.org/. And Mutt Documentation has many examples to config files.

For importing question, next is from Mutt wiki:

How to import messages from pine, thunderbird, kmail, evilution, ...?

mutt understands some standard FolderFormats. Find out what format the other MUA uses, and when it's compatible, just copy them over to a place for mutt to find them (and configure it per MuttGuide/Folders). If it's a proprietary format, either use the MUAs own export function, or search the web for external tools which can convert to a mutt-usable format, and proceed as before with configuring mutt to find them.