packages icon
For installation instructions see the INSTALL file.
Procmail & formail mail processing package.
Copyright (c) 1990-1999, S.R. van den Berg, The Netherlands.
Copyright (c) 1997-2001, Philip Guenther, The United States of America

Some legal stuff:

This package is open source software; you can redistribute it and/or modify
it under the terms of either:
- the GNU General Public License as published by the Free Software Foundation
  and can be found in the included file called "COPYING"; either version 2,
  or (at your option) any later version, or
- the "Artistic License" which can be found in the included file called

This package is distributed in the hope that it will be useful, but without
any warranty; without even the implied warranty of merchantability or fitness
for a particular purpose.  See either the GNU General Public License or the
Artistic License for more details.

For those of you that choose to use the GNU General Public License,
my interpretation of the GNU General Public License is that no procmailrc
script falls under the terms of the GPL unless you explicitly put
said script under the terms of the GPL yourself.

-------------------------- SYSTEM REQUIREMENTS -------------------------------

Any *NIX-alike (or POSIX compliant) system.

Sendmail, ZMailer, smail, MMDF, mailsurr or compatible mailers (in effect any
mailer that can process RFC-822 compliant mails).

For a fairly complete list of all C-library references done in the programs
see "src/includes.h".

------------------------------ DESCRIPTION -----------------------------------

The procmail mail processing program. (v3.22 2001/09/10)

Can be used to create mail-servers, mailing lists, sort your incoming mail
into separate folders/files (real convenient when subscribing to one or more
mailing lists or for prioritising your mail), preprocess your mail, start
any programs upon mail arrival (e.g. to generate different chimes on your
workstation for different types of mail) or selectively forward certain
incoming mail automatically to someone.

Procmail can be used:
	- and installed by an unprivileged user (for himself only).
	- as a drop in replacement for the local delivery agent /bin/mail
	  (with biff/comsat support).
	- as a general mailfilter for whole groups of messages (e.g. when
	  called from within rules).

The accompanying formail program enables you to generate autoreplies, split up
digests/mailboxes into the original messages, do some very simple
header-munging/extraction, or force mail into mail-format (with leading From


We made the utmost effort to make procmail as robust as any program can be
(every conceivable system error is caught *and* handled).

Since procmail is written entirely in C, it poses a very low impact
on your system's resources (under normal conditions, when you don't
start other programs/scripts from within it, it is faster and more
robust than the average /bin/mail you have on your system now).

Procmail was designed to deliver the mail under the worst conditions
(file system full, out of swap space, process table full, file table full,
missing support files, unavailable executables; it all doesn't matter).
Should (in the unlikely event) procmail be unable to deliver your mail
somewhere, the mail will bounce back to the sender or reenter the mailqueue
(your choice).

For a more extensive list of features see the FEATURES file.


However, as with any program, bugs cannot be completely ruled out.  We
tested the program extensively, and believe it should be relatively bug
free.  Should, however, anyone find any bugs (highly unlikely :-), we
would be pleased (well, sort of :-) to hear about it.  Please send us
the patches or bug report; you can reach us by E-mail at
We'll look at them and will try to fix it in a future release.
(BTW, if you should find any spelling or grammar errors in these files,
don't hesitate to point them out; we like correct English just as much
as you do).


I would like to take the opportunity to express my gratitude in particular
to these devoted users of the procmail-package.	 Without their constant
feedback procmail would not have looked the same:

	David W. Tamkin		An excellent proofreader and betatester.
	Josh Laff		For stresstesting procmail (and me :-).
	Dan Jacobson		For his many useful suggestions.
	Rick Troxel		Because I crashed his Convex way too often :-).
	Roman Czyborra		For his enthusiastic ideas.
	Ari Kornfeld		The guardian angel of SmartList.
	Alan K. Stebbens	For his endless creativity and suggestions.
	Philip Guenther		Sometimes faster at repairing bugs than I can
	 <> write them :-) He's also the current main
				coordinator of procmail/SmartList development.
	Era Eriksson		For maintaining the FAQ.  He's also the
	 <>		current coordinator of the procmail volunteer

Philip Guenther would like to thank the following people:

	David W. Tamkin		For continued duty as procmail's star
	 <dattier@Mcs.Net>	betatester.
	Miquel van Smoorenburg	For winning an argument with me.
	Tim Pierce		SmartList's current guardian angel.
	Christopher P. Lindsey	For thinking hard about real world usage.

...and all the other members of the procmail-dev mailing list, for
suggestions, testing, and being annoying (but in a good way).


Please note that this program essentially is supposed to be static; that
means no extra features (honouring the VNIX spirit) are supposed to be
added (though any useful suggestions will be appreciated and evaluated if
time permits).

       Stephen R. van den Berg	of Cubic Circle, The Netherlands.

Internet E-mail:		<>

Snail-Mail:	Procmail Foundation
		P.O.Box 21074
		6369 ZG Simpelveld
		The Netherlands

Procmail mailinglist:		<>
Procmail updates and patches list (readonly):
SmartList mailinglist:		<>
SmartList updates and patches list (readonly):
	<>	Development list for procmail
	<>	Development list for SmartList
	<>			Coordinator of development
	<>	List to coordinate volunteers

The most recent version can be obtained via
You'll be able to find instructions there which direct you to suitable
mirror sites around the world.

The current list of mirror sites include: