autoreply: a safe, rate limited autoresponder


autoreply is a simple autoresponder useful for replying to email upon receipt.


autoreply has been designed to be used safely without supervision.


The 1.2 release is available as a gzip'd tar archive containing the source and a FreeBSD-2.2.7 binary. Download this from:


To unpack the software, run:

gzip -dc autoreply-1.2.tar.gz | tar xvf -

On a non-FreeBSD system the program will have to be compiled. This can be done by typing "make clean" and then "make".

On a FreeBSD system the binary may be used in its current location or moved, as preferred.


reply message format

The text file that will be sent should contain mail headers, particularly a "From: " line.

If the -s option is used a "Subject: " line should not be supplied in the text file.

An example file:

From: Giles Lean <user@example.com>
Subject: 'autoreply' 1.2 release
Precedence: bulk

The 1.2 release of the autoreply program is available at:



configuring with qmail or mdforward

Choose an address for testing, and in its control file place directions similar to the following. Don't forget to deliver the incoming mail somewhere in addition to the autoreply command!

| /home/user/autoreply-1.2/autoreply /home/user/autoreply-message

(Change the pathnames to suit your installation.)

configuring with .forward

The format from a sendmail .forward file is similar, but should should have double quotes around it:

"| /home/user/autoreply-1.2/autoreply /home/user/autoreply-message"

configuring with procmail

The following procmail receipe will pass incoming mail to autoreply. The "c" is required or the mail will be considered "delivered" and further receipes will not be used.

:0 c
* ^TO_(autoreply|responder|autoresponder)@
| /path/to/autoreply /path/to/autoreply.txt

Advanced Configuration Options

usage: autoreply [options] file
       -c count    maximum number of messages per interval (default: 30)
       -h pathname path to history file (default: $HOME/.autoreply/histfile)
       -i interval interval in minutes (default: 30)
       -l logfile  path to log file (default: $HOME/.autoreply/log)

The -h and -l options will be of interest to people running multiple autoresponders in the one account.


First look at the log file. Every item of mail that is processed by autoreply will be logged. The default log file is .autoreply/log unless you have used the -l option to specify an alternative.

Mail that is successfully replied to will have a message about "replied to <address>" in the log file. If mail is not replied to for some reason (rate limit exceeded, or the mail looks like it is from a mailing list, for example) the reason will be given.

The most common problem people have during testing is that two or more items of mail from the one address within the interval (default 30 minutes) will cause the later replies to be suppressed. There will be a message in the log file about "suppressed reply to ... within interval" if this is the case.

In the case of operating systems errors and configuration errors detailed messages are written to the log file.


autoreply was written by Giles Lean <giles.lean@pobox.com>. Problem reports, questions and enhancement requests are all welcomed. (Please include any log file entries when reporting problems, or say there are no log messages if that is the case.)

No updates are expected to this software, but if an update is made it will be announced here. The annoucement mailing list that used to exist has been discontinued due to spamming of the -request address.