This is a port of Mutt to the Microsoft Windows operating systems.
It runs as a native win32 application.
The port has been reported to work on Windows 95/98/ME/2000.
Consider the port to be of beta quality
in the sense that it seems to work correctly in most cases,
but it has not been tested to work properly on all Windows versions
and some features of Mutt are not enabled (yet).
Windows is Not Unix.
The remaining features will need rewrites and work-arounds
before they can be added (if ever). Help is needed. Patches are welcome.
If you need a full-fledged Mutt for Windows you should consider installing
Cygwin. The Cygwin port of Mutt is by
far more complete than this one, and Cygwin comes with many of the Unix
tools Mutt is intended to run in co-operation with.
(but mutt on unix is better still..)
Bugs introduced when porting
- There is no locking of files what-so-ever !
[ Windows/MinGW doesn't support 'flock()' nor 'fcntl()' ]
- Filters are disable at some places and badly mimicked at others.
[ Windows/MinGW doesn't support 'fork()' ]
The crashes should be gone thanks to a patch by Thomas Roessler, 2001-06-05.
- $sendmail is called through a system call instead of fork and pipe
- <pipe-message> is done by
system( "command < infile > outfile" )
- <pipe-entry> is disable
- <print-message> is disabled
- <print-entry> is disabled
- All PGP commands are disabled
- The number of signals supported by Windows/MinGW are very limited.
- There is no automation of mailchecking or keeping a connection alive.
[ PDCurses doesn't implement 'timeout()' ]
- $timeout is disabled
- $imap_keepalive is disabled.
- $sendmail_wait has no meaning (since there is no other process involved)
If Mutt fails to find your username or home directory
set the environment variables %USER% and %HOME%.
also understands %USERNAME% as your username
and both %USERPROFILE% and %HOMEPATH%
as your home directory.
It is also possible to set %MUTT_ROOT% to point
where you store all Mutt files.
To install the pre-compiled binaries just
unzip the zip file while preserving the directory structure,
such that you get a /mutt directory.
(C:\mutt if installed at top-level on C:)
It is okay to rename the directory, for instance to
reflect the version by naming it mutt-1.4i,
but let the subdirectories remain.
The executable is named /mutt/bin/mutt.exe.
Create a shortcut to start Mutt if you wish.
In a "normal" case this is all it takes to install Mutt.
Deinstallation is by simply removing the Mutt-directory.
Mutt requires libiconv to convert text between character sets,
and libssl+libeay to handle ssl connection.
Since the first reason to compile Mutt as a native Windows version
was to not depend on extra dll:s (like cygwin.dll) there is also a
a minimal version that only requires Microsoft dll:s.
Windows 95 users might still need to install msvcrt.
"what runtime should i use?"
In case you really need to set any of these explicitely
(at least win95 users need this)
you can easily build a small mutt.bat file
to set it before calling Mutt.
set HOME=C:\Documents and Settings\%USER%
set MUTT_ROOT=C:\Program Files\mutt
"%MUTT_ROOT%\bin\mutt.exe" %1 %2 %3 %4 %5 %6 %7 %8
Other environment variables that can be set before calling Mutt are:
| Environment variable
|| Purpose and Description
|| Shell to invoke on an empty <shell-escape> command.
|| Domain or hostname for your computer.
Used in message id:s.
|| Indicates what file should be treated as the spoolfile.
(That's the main incomming mailbox mutt starts by viewing)
||List of mailcaps files to search. Separate them with a
||Directory where temporary files are created.
(Can also be named %TMP% or %TMPDIR%)
||Editor to use for writing mails.
Surround the full path program name by double quotes (").
The "builtin" editor is a very poor line editor to
use as a last resort.
|| Visual editor to use for editing when mails are written with
|| E-mail address to use in the Reply-To: header.
|| Language that messages should be given in.
(see directory names in /mutt/share/locale/
for possible values)
Most of these can also be
setup by your personal .muttrc file,
or even altered from within Mutt.
There is no difference setting Mutt up for Windows or for Unix.
If you are not happy with the default settings you can alter them either
system wide, for all users, or personally, for you alone.
The system wide configuration file is named /mutt/etc/Muttrc.
(C:\mutt\etc\Muttrc if you installed Mutt at top-level on C:)
Your personal muttrc is located in your home directory where you may choose
to name it either .muttrc or .mutt/muttrc.
The muttrc configuration file is described in
and discussed in the
(Section 3: Configuration,
Section 6.2: Configuration Commands, and
Section 6.3: Configuration variables)
In case you never setup Mutt before you could start by adding
to your personal .muttrc.
You should also tell where your mails are stored by setting
Also look at variables such as
if you have an Imap or Pop account.
This should be enough to let you use Mutt, but most everything
is configurable if you wish.
set realname = "Ulf Erikson"|
set from = "email@example.com"
# set alternates = '(user|first\.lastname)@company\.com'
set spoolfile = "~/Mail/inbox"
set folder = "~/Mail"
set mbox = "+received"
set record = "+sent"
set pop_host = "pop.mail.yahoo.com"
set pop_user = "ulferikson"
# set pop_pass = ""
set sendmail = "builtin"
set smtp_serv = "smtp.mail.yahoo.com"
set smtp_user = "ulferikson"
# set smtp_pass = "" # Try to use ESMTP and AUTH LOGIN
# Warning: password is sent as plain text (base64 encoded. no encyption)
Easiest way to write your first fully configuring muttrc is by
using the automated rc-builder.
After that, look at others rc files to see what more is possible to do.
If you already run Mutt on Unix you should be able to reuse most of your
muttrc except for the $sendmail variable. To use the builtin smtp support
set $sendmail to "builtin"
or an empty string.
Setup smpt by altering
If you rather use an smtp-client, like e-mail from ukaw
or sendsmtp from slrn,
use a "%s" to mark where the file should be passed to the command.
If your sendmail program wants all recipients on the command line,
like ssmtp, put a "%t" to mark where they should be added.