* Bananic provides CGI for all web
FormMail is a generic www form to e-mail gateway,
which will parse the results of any form and
send them to the specified user. This script
has many formatting and operational options,
most of which can be specified through the form,
meaning you don't need any programming knowledge
or multiple scripts for multiple forms. This
also makes FormMail the perfect system-wise
solution for allowing users form-based user
feedback capabilities without the risks of allowing
freedom of CGI access.
There is only one form field that you must have
in your form, for FormMail to work correctly.
This is the recipient field. Other hidden configuration
fields can also be used to enhance the operation
of FormMail on your site. The action of your
form needs to point towards this script (obviously),
and the method must be POST in capital letters.
Here's an example of the form fields to put
in your form:
<FORM METHOD=POST ACTION="http://yourdomain.com/cgi-bin/formmail.cgi">
<input type=hidden name="recipient" value="firstname.lastname@example.org">
<input type=hidden name="subject" value="Order">
<input type=hidden name="return_link_url"
<input type=hidden name="return_link_title"
The following are descriptions
and proper syntax for fields you can use with
- Recipient Field:
Description: This form field allows you to specify
to whom you wish for your form results to be
mailed. Most likely you will want to configure
this option as a hidden form field with a value
equal to that of your email address.
Syntax: <input type=hidden name="recipient"
- Subject Field:
Description: The subject field will allow you
to specify the subject that you wish to appear
in the email that is sent to you after this
form has been filled out. If you do not have
this option turned on, then the script will
default to a message subject: "WWW Form Submission".
Syntax: If you wish to choose what the subject
<input type=hidden name="subject" value="Your
To allow the user to choose a subject:
<input type=text name="subject">
- Email Field:
Description: This form field will allow the
user to specify their return email address.
If you want to be able to return e-mail to your
user, I strongly suggest that you include this
form field and allow them to fill it in. This
will be put into the From: field of the message
you receive. If you want to require an email
address with valid syntax, add this field name
to the 'required' field.
Syntax: <input type=text name="email">
- Realname Field:
Description: The realname form field will allow
the user to input their real name. This field
is useful for identification purposes and will
also be put into the From: line of your message
Syntax: <input type=text name="realname">
- Redirect Field:
Description: If you wish to redirect the user
to a different URL, rather than having them
see the default response to the fill-out form,
you can use this hidden variable to send them
to a pre-made HTML page.
Syntax: To choose the URL they will end up at:
<input type=hidden name="redirect" value="http://yourdomain.com/to/file.html">
To allow them to specify a URL they wish to
travel to once the form is filled out:
<input type=text name="redirect">
- Required Field:
Description: You can require certain fields
in your form to be filled in before the user
can successfully submit the form. Simply place
all field names that you want to be mandatory
into this field, separated by commas. If the
required fields are not filled in, the user
will be notified of what they need to fill in,
and a link back to the form they just submitted
will be provided.
To use a customized error page, see "missing_fields_redirect"
Syntax: If you want to require that they fill
in the email and phone fields in your form,
so that you can reach them once you have received
the mail, use the syntax like:
<input type=hidden name="required" value="email,phone">
- Env_report Field:
Description: Allows you to have Environment
variables included in the email message you
receive after a user has filled out your form.
Useful if you wish to know what browser they
were using, what domain they were coming from
or any other attributes associated with environment
variables. The following is a short list of
valid environment variables that might be useful:
REMOTE_HOST - Sends the host name making the
REMOTE_ADDR - Sends the IP address of the remote
HTTP_USER_AGENT - The browser the client is
(Note: In our case, both REMOTE_HOST and REMOTE_ADDR
are the same, since our servers don't do the
reverse DNS look up needed to generate the true
Syntax: If you wanted to find all the above
variables, you would put the following into
<input type=hidden name="env_report"
- Sort Field:
Description: This field allows you to choose
the order in which you wish for your variables
to appear in the email form that FormMail generates.
You can choose to have the field sorted alphabetically
or specify a set order in which you want the
fields to appear in your mail message. By leaving
this field out, the order will simply default
to the order in which the browsers send the
information to the script (which is usually
the exact same order as they appeared in the
When sorting by a set order of fields, you should
include the phrase "order:" as the first part
of your value for the sort field, and then follow
that with the field names you want to be listed
in the email message, separated by commas.
Syntax: To sort alphabetically:
<input type=hidden name="sort" value="alphabetic">
To sort by a set field order:
<input type=hidden name="sort" value="order:name1,name2,etc...">
Description: print_config allows you to specify
which of the config variables you would like
to have printed in your e-mail message. By default,
no config fields are printed to your email.
This is because the important form fields, like
email, subject, etc. are included in the header
of the message. However some users have asked
for this option so they can have these fields
printed in the body of the message. The config
fields that you wish to have printed should
be in the value attribute of your input tag
separated by commas.
Syntax: If you want to print the email and subject
fields in the body of your message, you would
place the following form tag:
<input type=hidden name="print config" value="email,
- Print_blank_fields Field:
Description: print_blank_fields allows you to
request that all form fields are printed in
the return HTML, regardless of whether or not
they were filled in. FormMail defaults to turning
this off, so that unused form fields aren't
Syntax: <input type=hidden name="print_blank_fields"
- Title Field:
Description: This form field allows you to specify
the title and header that will appear on the
resulting page if you do not specify a redirect
Syntax: If you wanted a title of 'Feedback Form
<input type=hidden name="title" value="Feedback
- Return_link_url Field:
Description: This field allows you to specify
a URL that will appear, as return_link_title,
on the following report page. This field will
not be used if you have the redirect field set,
but it is useful if you allow the user to receive
the report on the following page, but want to
offer them a way to get back to your main page.
Syntax: <input type=hidden name="return_link_url"
Description: This is the title that will be
used to link the user back to the page you
specify with return_link_url. The two fields
will be shown on the resulting form page
Syntax: <input type=hidden name="return_link_title"
value="Back to Main Page">
Back to Support menu