autorespond
Copyright 1998 Eric Huss
Copyright 2000 Matthias Henze  matthias@mhcsoftware.de
Copyright 2001 Brad Dameron <bdameron@tscnet.com>

EH 02/13/98 - First release.
EH 02/14/98 - Fixed file descriptor bug (wouldn't work on BSD/Linux)
MH  07/2000	1.1.0	added message handling
MH  07/2000	1.1.0	added from adrees commandline option
MH  07/2000	1.1.0a	changed back to 1.0.0 compatibility
			the new commandline options are optional by now
MH  08/2000	1.1.0b	if DEFAUTL_FROM is set to $ the addres in the To:
			header will be used as From: of the autoreply.
MH  03/2001     1.1.0b  switched * to + in DEFAULT_FROM syntax
                        fixed from header

BD  06/12/2001  1.2.0   Removed some of Matthias's additional command lines
                        and cleaned up some code.

downaload at: http://www.mhcsoftware.de/qmail/autorespond/



Simple autoresponder for qmail.

==============================================

Mail is sent to help@my-company.com. An automatically generated response
is sent back to the user with an address of "help@my-company.com".  You
can set the envelope sender to an empty string.  However, some programs
will parse the message for the "From:"  field and send an autoresponse
back to it.  It is received at your autoresponder, and you now have a mail
loop. 

This autoresponder also catches some other simple situations such as mail
from a mailer-daemon, empty envelope sender, bulk precedence headers, etc. 

autorespond.c
=============

First thing, if your qmail distribution is not in /var/qmail, then go edit
QMAIL_LOCATION to point to the correct directory. If you do not want to make use
of the 2 optional commandline options edit the 2 defines:

DEFAULT_MH    -> corresponds to the "flag" optional parameter
DEFAULT_FROM  -> connesponds to the "arsender" optional parameter


There shouldn't be anything else to configure.  Compile: 

gcc -Wall -o autorespond autorespond.c

Or whatever you wish (cc, optimizations, etc.)  Should for the most part
compile without warnings. 

Usage is as follows:

autorespond time num message dir [ flag arsender ]

     time - amount of time to consider a message (in seconds)
     num - maximum number of messages to allow within time seconds
     message - the filename of the message to send
     dir - the directory to hold the log of messages

     optional parameters:

     flag - heandling of original message:

       0 - append nothing
       1 - append quoted original message without atatchments <default>

     arsender - from adress in generated message, or:

       + = blank from envlope ! 
       $ = To: address will be used


So for example, in your ~alias directory, create a .qmail-help file with
the following:


|autorespond 10000 5 help_message help_autorespond 1
&your-email-address@company.com


This will allow up to five messages from the sender within about 3 hours and include the
original message as a quote.

|autorespond 10000 10 help_message help_autorespond 0 +
&your-email-address@company.com


This will allow up to ten messages from the sender within about 3 hours and
will NOT include the original message as a quote and will leave the from
field blank.


Create a file in your ~alias directory called help_message.  It should say
something like this: 

From: Support <help@company.com>
Subject: Help Response

This is a response to your help request.


Below is a copy of the message we received.

--------

Make sure that "From:" is the first line of the file.  You should probably
include the dashes to separate your help message from the user's message. 
An example is included with this package. 

Create a directory called help_autorespond in your ~alias directory.  This
is where the log of messages goes. 

That should be it.


Notes
=====
- If the maximum count has been reached, then the message is not
forwarded on to you.  If you wish to change this behavior, change
_exit(99);   on line 455 for mysql, 440 for the normal one
to:
_exit(0);


