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.  And if you'd like us to take care of the whole installation process for you, then choose an installation service, too.

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.

ContactForm Installation Service:
Standard install: within 2 business days
Rush install: within 24 hours, even on weekends


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:

  1. Put the script at /cgi-bin/contact.cgi.  You could also name it (IIS users may need to) or in fact, whatever.cgi or  And put the preferences file at /cgi-bin/contact_prefs.cgi.
  2. 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.
  3. 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.
  4. Visit and you should see the app; if not, check the support section.
  5. (Optional) Visit to visit the app via the shortcut URL.
  6. Read the FAQ.


Read the FAQ for further instructions.

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.


v1.55 (20070507):

  • 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.

v1.54 (20070315):

  • 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.

v1.53 (20070128):

  • 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.

v1.52 (20070120):

  • Added support for unlimited custom form fields.

v1.51 (20061224):

  • Names of log files are now adjustable.

v1.50 (20061121):

  • Initial public release, after about 5 years of use on various Encodable client websites.

Shopping Cart

Client Quotes

Thank you VERY much for all of your help.  You've really impressed me.  We have support agreements for other software that costs thousands of dollars / year (just for the support), and most of them aren't as helpful as you have been.
– Keith Y.
Nice script, it's saving the day on our project.
– Aaron W.
Do you know how rare it is to have a "canned" shopping cart that can easily do complex pricing options on a single item?  Basically, they don't exist!  I have looked.  Everywhere!  And the few that might even come close to CornerStore's functionality cost a fortune!
– Tashina P.
Thanks again for a great product and great support - beyond expectations.
– Greg S.
You've done a wonderful job with FileChucker and UserBase, and they have made a big difference to how our website runs.
– Nicholas H.
FileChucker is helping drive the backend of several high profile entertainment sites for people like Shania Twain and Dolly Parton.  We're also using it to drive backend file uploads for a multi-billion dollar banking institution.  It's a great product.  We've tried other "chucking" upload solutions with progress bars using flash and php, but nothing works as reliably as FileChucker.
– Michael W.
I just want to say you guys really stand alone in that you have a quality product and you provide genuine customer service.  It's sad but those qualities are seldom found separately, much less together.  Thanks again for your time and help.
– Alex S.
I just wanted to say that yours is the first product that I've tested so far that hasn't failed on handling uploads.  This is going to work for a print company, so they are handling nothing but large files and all the other solutions I've tried so far have not been reliable.  So far yours has been 100% successful in my tests.
– Kevin H.
Just one word: Fantastic.  10-minute job to plug FileChucker into my app, and it now works a treat.  It's through the hard work by people like yourselves that make my job so much easier.  Congratulations on an outstanding product... Many many thanks.
– Sean F.
The work, the thought and the organization you put into this app is incredible.
– Bruce C.
FileChucker is a great drop-in solution for file uploads, and worth every penny of its very reasonable cost.  Encodable's support is excellent to boot.
– Loren A.
I looked all over trying to find a simple cgi script.  I found that FileChucker was by far the best.  If you have issues with your hosting service's php.ini max upload size then this is the way to go.  Looking forward to future enhancements.
– Bob C.
Why didn't I just do this from the get-go?  So much easier.  Thanks for your work.  FileChucker makes my work easier.
– Dominic M.
I just installed the demo of your product and got it up and running in no time.  I searched high and low for a decent login script and thank God I found yours.
– Adrian F.
The amount of customization in the program is incredible.  I was able to integrate it into my existing page layout relatively simply.  I was also able to easily customize the look/feel to match the current site.
– Jason M.
I want to thank you for your efforts on Userbase. It has become an integral part of our business and has allowed us to branch out and begin using automation on a lot of our processes. Userbase has become the gateway to advancement for our company's processes for our clients and employees.
Our members think your software is fantastic...  I would recommend your software and your company to anyone.  Thanks for all your help.  It has been a pleasure dealing with you.
– Tommy A.
FileChucker is working great...  Clients love it.  Vendors love it.  We love it.
– Gerry W.