GNU Mailutils

 [image of the Head of a GNU]

Table of Contents

Introduction to Mailutils

GNU Mailutils is a collection of mail-related utilities. At the core of Mailutils is libmailbox, a library which provides access to various forms of mailbox files (including remote mailboxes via popular protocols). It also provides support for parsing of RFC-822 style messages and MIME support.

Following is a short description of the mail utilities. All utilities share the same subset of command line options and use single configuration file, which allows to easily configure the package as a whole.


The Mailutils' imap4d implements Internet Message Access Protocol, version 4rev1 as per RFC 2060. It supports Namespace capability and GSSAPI authentication mechanism.


Pop3d is a daemon implementing Post Office Protocol server.


Comsatd is the program notifying users about incoming e-mail. Being highly configurable, this implementation of comsatd gives the user full control over the notification method. It also includes a protection mechanism against some well-known comsatd attacks.

Mail Delivery Agents

Mailutils provides mail delivery agents for local delivery and for remote delivery via SMTP protocol.


This program delivers mail to the local mailboxes. It supports per-user quotas on the mailbox size and provides hooks to run mail-filtering scripts before actual delivery. Such scripts may be written either in Sieve or in Scheme.


The mail.remote is designed as a drop-in replacement for /usr/lib/sendmail to forward mail directly to an SMTP gateway.


This is an interface program used by GNU Emacs rmail module to read user's incoming mail. It contains a number of improvements over the standard movemail version while being compatible with the existent rmail.el.

The improved rmail.el, taking advantage of all the features provided by our movemail should become available with the next version of GNU Emacs. In the meanwhile its code is available from Sergey Poznyakoff's site.

Command Line Utilities

The frm command outputs headers from the selected messages in a mailbox.


Mail is a replacement for /bin/mail and /bin/mailx. While being compatible with those, mail understands various mailbox formats (including remote mailboxes, via pop3 or imap4d protocol), provides extended line-editing capabilities, is fully configurable and is able to decode MIME messages.


Messages prints on standard output the number of messages contained in each folder specified in command line. If no folders are specified, it operates upon user's system mailbox.


Readmsg extracts from the mailbox messages matching a given set of criteria and prints their contents on the standard output.

MH utilities

This is a set of utilities compatible with MH Message Handling System.

While being backward compatible with both standard mh and nmh, our implementation of MH offers all the flexibility and power of GNU Mailutils. It has been designed to interoperate flawlessly with GNU Emacs MH-E interface. Newer versions of MH-E provide support for extended features of GNU Mailutils MH.

Mail Filtering Utilities

Mailutils offers support for two mail processing languages: Sieve and Scheme.


Guimb stands for "Guile for MailBoxes". It is designed to provide for mailboxes the same functionality that awk provides for text files. It processes mailboxes, applying the user-supplied Scheme programs to each of them in turn and saves the resulting output in required mailbox format.


Mailutils provides two implementations of the Sieve language (RFC 3028): a standalone program sieve, and sieve.scm -- a Sieve compiler written entirely in Scheme. Both provide full support for the Sieve language with a set of extensions.

Sieve takes a Sieve script and applies it to the given mailbox.

Sieve.scm translates a Sieve script into an equivalent Scheme program and optionally applies it to the given set of mailboxes. The produced Scheme program can be used as a plug-in filter for mail.local utility.

Language extensions, such as new tests, actions and comparators, can be easily added to both implementations.

Downloading Mailutils

GNU Mailutils can be downloaded from or one of the mirrors.

The latest stable release of GNU Mailutils is version 1.0, released on July 7, 2006.

For more information about the project, including news, bug reports and patches, please see the project's home page on Savannah.

Nightly snapshots of the CVS tree are available from

Alpha releases of the package are available from


Complete documentation in TeXinfo format is included in the distribution. An online manual is available.

Mailing Lists

Mailing list bug-mailutils at is currently used for bug reports and discussions regarding GNU Mailutils. To subscribe to the list, visit


GNU Mailutils is currently being maintained by Alain Magloire, Jeff Bailey, and Sergey Poznyakoff.

Valid XHTML 1.0!