Primus Formmail
Primus provides a FormMail CGI script. You can provide site visitors with a FORM on your website to collect information from them. The FORM would call the FormMail CGI to email the collected information to you. The FormMail CGI is named "primusformmail.pl" and is written in the PERL language. If you do not have a copy of the script, please obtain it via the below link:Primus Formmail Script (76.32 kB) (right click and select save as)
All VWS Packages
- All UNIX VWS customers can use Primus' "shared" FormMail CGI (this "shared" script is not customizable)
Express/Enhanced/Standard/Intermediate/Advanced VWS
Packages
- Clients with these packages have their own custom CGI-BIN directory
- Primus provides you with your own copy of primusformmail.pl which you can customize as needed
- Open your copy of /cgi-bin/primusformmail.pl using your favorite text editor.
- Add your domain name(s) to the @referers variable (required to prevent spammers from abusing your script)
- Add the recipient(s) that your form(s) are configured to send mail to to the @allow_mail_to variable (required for security purposes)
- Save your changes and exit the text editor.
FORM CONFIGURATION
To use primusformmail.pl, you need to create an HTML form that
will call the script. Please find below (under the header "EXAMPLE FORM") an example
HTML FORM which will send mail to the address 'feedback@your.domain' when someone
submits the form. Please note that your form "action" tag will vary depending on
which server you are hosted on and depending on which UNIX VWS package you have. If
you have a Lite or Express package and want to call the "shared" FormMail script, use
the following syntax:
<form method="post" action="/cgi-bin/primusformmail.pl">
If you have a Standard or higher UNIX VWS package (with your own cgi-bin directory),
you can call your own custom primusformmail.pl using the following
syntax:
<form method="post"
action="/cgi-bin/primusformmail.pl">
If you have a Standard or higher UNIX VWS package (with your own cgi-bin directory),
but you want to use the "shared" FormMail script, you will need to hard-code the name
of the hosting server which hosts your website as follows:
<form method="post"
action="http://serverX.magma.ca/cgi-bin/primusformmail.pl">
Please replace "serverX" with the appropriate server
(vws1/vws2/vws3/express1a/etc..)
EXAMPLE FORM
Here is a basic form example that uses the primusformmail.pl script:
</span><span class="style3"><span class="style11"><html> | |
<form method="post" action="/cgi-bin/primusformmail.pl"> | |
<input type="hidden" name="recipient" value="feedback@your.domain.com"> | |
<input type="hidden" name="redirect" value="/thankyou.html"> | |
<table width=50% border=0> | |
<tr> | |
<td>From : </td> | |
<td><input type="text" name="email"></td> | |
</tr> | |
<tr> | |
<td>Subject : </td> | |
<td><input value="" name="subject"></td> | |
</tr> | |
<td>Comments : </td> | |
<td> | |
<textarea name="comment" rows=6 cols=40 value=""></textarea> | |
</td> | |
</tr> | |
<tr> | |
<td colspan=2><input type="submit" value="submit"> | |
<input type="reset" value="reset"></td> | |
</tr> | |
</table> | |
</form> | |
</html></span></span><span class="style7"> |
See how the hidden 'recipient' input in the example above told formmail who to send the mail to ? This is how almost all of formmail's configuration works. Here's the full list of things you can set with hidden form inputs:
recipient | - The email address to which the form
submission should be sent. If you would like it copied to more than one
recipient then you can separate multiple email addresses with commas, for
example: <input type="hidden" name="recipient" value="you@your.domain,me@your.domain"> If you leave the 'recipient' field out of the form, formmail will send to the first address listed in the @allow_mail_to configuration variable (see above). This allows you to avoid putting your email address in the form, which might be desirable if you're concerned about address harvesters collecting it and sending you SPAM. This feature is disabled if the $emulate_matts_code configuration variable is set to 1. |
subject | The subject line for the email. For example:
<input type="hidden" name="subject" value="From the feedback form"> If this value is present it should be a URL, and the user will be redirected there after a successful form submission. For example: |
redirect | <input type="hidden" name="redirect"
value="http://www.your.domain/foo.html"> If you don't specify a redirect URL then instead of redirecting formmail will generate a success page telling the user that their submission was successful. |
bgcolor | The background color for the success page. |
background | The URL of the background image for the success page. |
text_color | The text color for the success page. |
link_color | The link color for the success page. |
vlink_color | The vlink color for the success page. |
alink_color | The alink color for the success page. |
title | The title for the success page. |
return_link_url | The target URL for a link at the end of the
success page. This is normally used to provide a link from the success page
back to your main page or back to the page with the form on. For example: <input type="hidden" name="return_link_url" value="/home.html"> |
return_link_title | The label for the return link. For
example: <input type="hidden" name="return_link_title" value="Back to my home page"> |
sort | This sets the order in which the submitted form
inputs will appear in the email and on the success page. It can be the string
'alphabetic' for alphabetic order, or the string "order:" followed by a comma
separated list of the input names, for example: <input type="hidden" name="sort" value="order:name,email,age,comments"> If "order:" is used you must supply the names of all of the fields that you want to be in the body of the mail message. |
print_config | This is mainly used for debugging, and if set
it causes formmail to include a dump of the specified configuration settings in
the email. For example: <input type="hidden" name="print_config" value="title,sort"> ... will include whatever values you set for 'title' and 'sort' (if any) in the email. |
required | This is a list of fields that the user must
fill in before they submit the form. If they leave any of these fields blank
then they will be sent back to the form to try again. For example: <input type="hidden" name="required" value="name,comments"> |
missing_fields_redirect | If this is set, it must be a URL, and the user will be redirected there if any of the fields listed in 'required' are left blank. Use this if you want finer control over the the error that the user see's if they miss out a field. |
env_report | This is a list of the CGI environment variables that should be included in the email. This is useful for recording things like the IP address of the user in the email. Any environment variables that you want to use in 'env_report' in any of your forms will need to be in the @valid_ENV configuration variable described above. |
print_blank_fields | If this is set then fields that the user left blank will be included in the email. Normally, blank fields are suppressed to save space. |
As well as all these hidden inputs, there are a couple of non-hidden inputs which get
special treatment:
If one of the things you're asking the user to fill in is their email address and you call that input 'email', formmail will use it as the address part of the sender's email address in the email. | |
realname | If one of the things you're asking the user to fill in is their full name and you call that input 'realname', formmail will use it as the name part of the sender's email address in the email. |