I've been using a form script called Alien Form for many years now. It's original website and support are no longer available, but I have been able to pimp the script to meet my various needs. Here is a snippet from the installation instructions. I have made it available on my website at
http://www.xislegraphix.com/alienform/alienform.zip
Features:
* Fully customizable output formatted by simple text templates.
* Supports both command line mailers (ie Sendmail) and network (SMTP) sending of email.
* Can send any number of different emails on every invocation.
* Can output (append) to any number of files per invocation.
* Can perform mathematical calculations on data supplied in the form- so you can total orders, work out shipping etc.
* Environment Settings (i.e. current time, user's hostname etc.) may be included in the templates.
* Can check that entered data matches a particular format- i.e. all digits, a syntactically correct email address, letters only, etc.
* Does not have to send email on every invocation- so you can have the form take a number of steps to fill out before finally being logged or emailed. (Here's how.)
* Security measures include you being able to specify what forms & sites are allowed to send to the script.
* One script can serve a whole ISP, with individual templates being stored in each user's account.
* Simple, easy to understand error messages.
* It's totally free! Try it today, you'll wonder how you lived without it!
System Requirements:
* A working server, where you can install & execute CGI scripts.
* A working copy of and access to Perl 5 or higher (not perl 4!).
* Either:
o A sendmail command line compatible mailer (e.g. Sendmail), or
o Access to a SMTP server that will relay for you, and the Mail::Sendmail module installed.
Usage License:
* This script is free to use, as long as you link to us, as detailed on the link page.
* You may not redistribute this script without my express, written permission.
* You may not use this script as a basis for your own script, without my express, written permission.
* I (Jon Hedley) retain all copyright and ownership of the script.