Mutt & Maildir Mini-HOWTO


This document describes how to use the Maildir format with the Mutt MUA. It has technical and performance advantages over the mbox format.

It is supported by MTA's like Exim, Postfix and qmail, MDA's like maildrop and procmail and IMAP4/POP3 servers like Dovecot and Courier to just name a few.

This document uses the Maildir++ directory layout for Maildir subfolders.

Using Maildir format with Mutt

Basic setup

You should already have setup your system to use Maildir. This assumes your Maildir being ~/Maildir and that it contains Drafts and Sent subfolders as commonly used by other MUAs via IMAP4.

Mutt configuration

This section describes the statements to put into your muttrc (i.e. ~/.muttrc or ~/.mutt/muttrc). .

First tell Mutt to use the Maildir format:

set mbox_type=Maildir

Next configure the locations of the common folders:

set folder="~/Maildir"
set mask="!^\\.[^.]"
set mbox="~/Maildir"
set record="+.Sent"
set postponed="+.Drafts"
set spoolfile="~/Maildir"

Set up mailboxes by scanning for all subfolders in ~/Maildir:

mailboxes `echo -n "+ "; find ~/Maildir -maxdepth 1 -type d -name ".*" -printf "+'%f' "`

Note that this requires find(1) from the GNU findutils, which on BSD systems usually is installed as gfind(1).

Add macros to make the folder browser usable by always using the mailboxes setup above:

macro index c "<change-folder>?<toggle-mailboxes>" "open a different folder"
macro pager c "<change-folder>?<toggle-mailboxes>" "open a different folder"

To additionally get straight to the folder browser when copying, moving and attaching mail, add the following macros:

macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"

macro compose A "<attach-message>?<toggle-mailboxes>" "attach message(s) to this message"


This document is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.


Thanks to Alexandre Beelen for suggesting a fix to the original mailboxes command to handle folder names that contain white space, to Martin Steigerwald for suggesting to simplify the mailboxes command by using find(1), to Dave Kiddell for pointing out that the latter depends on a GNU findutils specific feature, to Abel Daniel for pointing out some minor errors and to Adam Shaw for suggesting to mention the location of muttrc.