Mutt


Introduction

"All mail clients suck. This one just sucks less." -Michael Elkins, author of Mutt

Mutt is a small but very powerful text-based mail client for Unix operating systems. Originally based on the ELM mail client, Mutt got its name when features from other mail clients (namely PINE and MUSH) were added to it, creating a mixture of clients, or a "mutt."

According to the Mutt and IMAP homepage, "Mutt's IMAP support is an ongoing effort, still far from complete. Due to its untested nature, much of this support is lacking in the stable releases of Mutt (ie the 1.0 series). Nevertheless the stable series is quite functional - it's just missing some goodies."

Installation

  1. Download the latest Mutt source from mutt.org and unpack it into a temporary directory.
  2. Configure Mutt for your machine. We passed it two flags; one that (we thought) should set the default inbox site-wide, and one that told Mutt to enable IMAP:
    ./configure --with-mailpath={mail.metalab.unc.edu}inbox --enable-imap
    
  3. Compile and install Mutt:
    make
    make install
Now comes the fun part.


Directions for Use

Mutt reads its configuration from a file in your home directory called .muttrc, much like Pine's .pinerc. It also accepts flags at the command line, like Pine. Its major options include:
       -a file
              Attach a file to your message using MIME.

       -b address
              Specify a blind-carbon-copy (BCC) recipient

       -c address
              Specify a carbon-copy (CC) recipient

       -e command
              Specify a configuration command to be run after
              processing of initialization files.

       -f mailbox
              Specify which mailbox to load.

       -F muttrc
              Specify an initialization file to read instead of
              ~/.muttrc

       -h     Display help.

       -H draft
              Specify a draft file which contains header and body to
              use to send a message.

       -i include
              Specify a file to include into the body of a message.

       -m type
              specify a default mailbox type

       -n     Causes Mutt to bypass the system configuration file.

       -p     Resume a postponed message.

       -R     Open a mailbox in read-only mode.
       
       -s subject
              Specify the subject of the message.

       -v     Display the Mutt version number and  compile-time
              definitions.

       -x     Emulate the mailx compose mode.

       -y     Start  Mutt  with  a listing of all mailboxes specified
              by the mailboxes command.

       -z     When used with -f, causes Mutt not to start if  there
              are no messages in the mailbox.

       -Z     Causes  Mutt  to  open  the first mailbox specified by
              the mailboxes command which contains new mail.


More Mutt Configuration

More common than command line flags is the .muttrc file. A rather complete and well-documented sample .muttrc is provided on mutt.org and should work well with little modification. Once you take a look at that, run Mutt:
mutt
Keystroke commands are not the same as Pine. Here are a few to get you started:

 c  Open a mailbox ('!' to open INBOX)
 m  Mail a new message
 j  Scroll down one line
 k  Scroll up one line
 r  Reply
 $  Purge deleted messages
 q  Quit


Problems

Two-fold:
  1. As of this writing I can't find the right syntax to force Mutt to open an IMAP mailbox upon launch. I had to settle for hitting 'c' and telling it {mail.metalab.unc.edu}INBOX, then Mutt would ask for my username and password.
  2. Mutt doesn't properly deal with background colors on some terminals. Issuing a ^L to redraw the screen causes the entire screen to fill with the background color on login.metalab.unc.edu. I need to play with my .muttrc file to fix this; in the mean time I've simply been setting the terminal type before running mutt:
    export TERM=vt100

These are minor problems, however. Mutt is highly configurable, powerful, and not designed for someone who couldn't program a VCR, if you'll pardon the cliche.


Donald Sizemore and Matthew Knuppel

INLS183