| 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-sys/FormMail.cgi">
<input type="hidden" name="recipient"
value="whoever@yourdomain.com">
<input type="hidden" name="subject"
value="Order">
<input type="hidden" name="return_link_url"
value="http://yourdomain.com/">
<input type="hidden" name="return_link_title"
value="Back to Main Page">
The following are descriptions and proper syntax for fields
you can use with FormMail.
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"
value="email@yourdomain.com">
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 is:
<input type=hidden name="subject" value="Your
Subject">
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 email 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 email header.
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 hostname making the request.
REMOTE_ADDR - Sends the IP address of the remote host.
HTTP_USER_AGENT - The browser the client is using.
(Note: In our case, both REMOTE_HOST and REMOTE_ADDR are
the same, since our servers don't do the reverse DNS lookup
needed to generate the true REMOTE_HOST string).
Syntax: If you wanted to find all the above variables, you
would put the following into your form:
<input type=hidden name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT">
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 form). 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...">
Print_config Field
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,
subject">
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
emailed.
Syntax: <input type=hidden name="print_blank_fields"
value="1">
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 URL.
Syntax: If you wanted a title of 'Feedback Form Results':
<input type=hidden name="title" value="Feedback
Form Results">
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"
value="http://yourdomain.com/index.htm">
Return_link_title
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 as:
Syntax: <input type=hidden name="return_link_title"
value="Back to Main Page">
Field: missing_fields_redirect
Version: 1.6
Description: This form field allows you
to specify a URL that users will be redirected to if there
are fields listed in the required form field that are not
filled in. This is so you can customize an error page instead
of displaying the default.
Syntax: <input type=hidden name="missing_fields_redirect"
value="http://your.host.com/error.html">
Using FormMail.pl via Secure Server
If you are using FormMail.pl through the secure server, you
can still place your form anywhere on your webspace you want
to, but you MUST use the following URL as the ACTION of your
form: https://[secureserver].com/cgi-yourdomain/FormMail.pl
Here's an example of how the first parts of your form might
look:
<FORM METHOD=POST ACTION="https://[secureserver].com/cgi-sys/FormMail.pl">
<input type=hidden name="recipient" value="whoever@yourdomain.com">
<input type=hidden name="subject" value="Order">
<input type=hidden name="return_link_url" value="http://yourdomain.com/">
<input type=hidden name="return_link_title" value="Back
to Main Page">
It is still important that you call your order page through
a secure URL in order to work properly. For example: https://[secureserver].com/~[yourdomain]/order.html
Please contact us at HelpDesk
to find out the name of the secure server you should be using.
|