Receive Email Through Your Website
ContactForm is the script that powers our Contact Page. One reason for having a contact form on your site instead of just listing your email address is that the contact form hides your email address, saving you from the deluge of spam email that you would receive by listing your email address on your website.
But ContactForm can also serve as a general-purpose data submission form, enabling improved communication with your visitors in many different scenarios. For example you could configure it for use as an Estimate Request System, or a Trouble Ticket Submission system, etc.
- Supports unlimited custom form fields, including drop-down boxes
- Can send messages to multiple recipients
- Supports a "Recipient" drop-down menu so your visitors can choose a particular person/department for their message (and the destination email addresses are hidden from the visitor)
- Supports sendmail- and SMTP-based sending, including SMTP authentication
- Supports required fields, for any fields that you decide must be filled in before the form will allow the user to submit it
- Logs all messages to a text file (in addition to emailing them to you, of course) including sender's IP address, hostname, and user-agent
- Enforces a built-in delay (defaults to 20 seconds) between sends, to prevent spambots from hammering on it
- Single-file easy-to-install Perl CGI script
- Works on virtually all servers (Apache, IIS, OS X Server)
You can download the ContactForm trial version and install it on your site right now. The trial is designed for you to test on your server before purchasing the full version. The trial has limitations compared to the full version, mainly that it does not actually send any emails.
To get ContactForm, please choose your license type below.
ContactForm Full Version:
Personal Website License: 1-site
Non-Personal Website License: 1-site
Non-Personal Website License: 3-site
Non-Personal Website License: 10-site
Instant credit card payments through PayPal.
No sign-up required!
* A Non-Personal Site is one that is commercial, academic, organizational, community, government, etc.
Open contact_prefs.cgi in a text editor and adjust the PREFs as necessary to suit your server and your setup.
Note: if you are using Microsoft Windows, and when you open the file, the lines all appear to be crunched together, try opening it in Wordpad (not Word) instead. In Wordpad, save the file; this should fix the line-endings so the file's contents appear correctly in other editors like Notepad.
Note II: if you are running your server on Windows (in which case you'll need to install a copy of Perl, probably ActivePerl), then you'll need to change the first line of the script from #!/usr/bin/perl to either #!perl or #!c:\path\to\perl.exe
On your website:
- Put the script at /cgi-bin/contact.cgi. You could also name it contact.pl (IIS users may need to) or in fact, whatever.cgi or whatever.pl. And put the preferences file at /cgi-bin/contact_prefs.cgi.
- Set the permissions on the script (that is, chmod it) to world-readable and world-executable, that is, a+rx or mode 0755. Do NOT use 0777.
- Create the directory /cgi-bin/encdata/ and set the permissions on it to world-readable, -writable, and -executable, that is, a+rwx or mode 0777.
- Visit www.yoursite.com/cgi-bin/contact.cgi and you should see the app; if not, check the support section.
- (Optional) Visit www.yoursite.com/contact/ to visit the app via the shortcut URL.
If you are getting an Internal Server Error message when you try to access ContactForm on your server, please try the solutions on our Internal Server Error page.
If you're getting errors about missing Perl modules, please see our instructions on how to install Perl modules.
If you still need help, you can contact us.
- ContactForm can now include your site's default header and footer files in its output.
- Bugfix: %serial_number% was not getting replaced with the actual serial number in the Subject: line of the emails.
- The CSS ID on the main wrapper element is now adjustable via the preferences, so that a single site can run multiple copies of ContactForm for different purposes and can still style them from the same stylesheet.
- Added support for drop-down input elements.
- Added support for user-selectable recipients based on drop-down lists, where the user sees an option like "Sales", "Support", etc (all configurable) and then ContactForm routes those to your specified recipient addresses. The end-user cannot see the email addresses on the website, not even by looking at the source code, because they aren't displayed or used client-side at all.
- Added support for a static sender address and a static subject line.
- Added support for "required" fields, where the form will not submit until the user enters a value; also includes email address format verification for email fields.
- Added support for unlimited custom form fields.
- Names of log files are now adjustable.
- Initial public release, after about 5 years of use on various Encodable client websites.