Contact or Quote Form Not Working

Troubleshooting HTML forms using formmail

Pinned Note Forms Not Working
Template contact and quote forms use a CGI script called formmail to send messages through your server. Info on this support page is for some common possible problems, and solutions to get the form working.

See Also…

File Not Found #1: Naming Problems:
Upload or install formmail.pl or formmail.cgi in your cgi-bin folder and then set a path to that in your contact.htm or quotes.htm code. Keep in mind that this path must be exact. Hosting is case sensitive so the path must match the file name exactly as in this example:

<form method="post" action="http://your-domain.com/cgi-bin/formmail.pl">

In the above example, the file in the cgi-bin folder is called "formmail.pl". If the file is named "FormMail.pl" the above path will not work because the path uses all lowercase for the formmail.pl. As a rule, you can rename formmail.pl to all lowercase letters and use only lowercase letters on the contact.htm page code.


File Not Found #2: Naming Problems:
In the contact.htm path that calls formmail, be sure you have your domain spelled correctly and http:// in front of the domain as in this example:

<form method="post" action="http://your-domain.com/cgi-bin/formmail.pl">

Is cgi-bin all lowercase? Is the folder named cgi-bin or perhaps just "cgi"?


Bad Recipients Error:
In the contact.htm or quotes.htm you must use an e-mail from your domain. You can not use a gmail or Yahoo e-mail for example. This is the recipient line in the contact.htm page:

<input type="hidden" name="recipient" value="info@your-domain.com">

If the above is not the problem then it may be a problem with the "@referers" in the formmail.pl script. Check "@referers" in step #4 on the formmail setup support page.


Internal Server Error Problem #1:
This will most likely be a CHMOD problem. Try to 755 CHMOD your formmail script again. Be sure it has actually CHMODed the script to 755 by trying the CHMOD again and seeing if it shows the CHMOD 755 as being already changed. If this does not help, perhaps try the setup again from the start. See formmail setup steps.

  1. If you try the formmail setup again from the start and it is still not working this may be a cgi-bin problem.
  2. Check to see that the formmail script is actually CHMODed. Sometimes the CHMOD will not be working or the exact CHMOD number will not work with your hosting.
  3. Contact your hosting company to see if you can use a CHMOD 755 in your cgi-bin or what CHMOD to use in your cgi-bin.
  4. Try a CHMOD 777 or a CHMOD 750.
  5. If you do not have Allwebco hosting: The best way to proceed may be to get a sample contact form from your hosting company, get the sample form working 100%. You can then use the <hidden> and <form> post lines from the sample form in the template contact.htm.

Internal Server Error Problem #2:
Any single error in the formmail.pl or .cgi file will cause this problem. Try the setup again from the start including downloading the formmail script again.

Internal Server Error Problem #3:
In some cases, if this is not a CHMOD problem, you can try the following to fix this error. Edit the first line in your "formmail.pl" (or "formmail.cgi") by adding a " -w " to the end of the first line as follows:

#!/usr/local/bin/perl -w

Re-upload the "formmail.pl" file to your "cgi-bin" and CHMOD it again.


Missing or Not Working Thanks Page:
If the thank you page does not show up after you test the form, you may not have uploaded the thanks.htm or you may have not set this path correctly in the contact or quotes HTML pages:

<input type="hidden" name="redirect" value="http://your-domain.com/thanks.htm">

Some Form Information Is Not Sent:
If you add some fields or edit the "sort" field on your template you may get some info from the form, and might be missing other info.

Problems With Godaddy or Other Hosting:
Some hosting services, like Godaddy, use a "cgi" folder rather than a "cgi-bin" folder. Code in the "contact.htm" is setup for a "cgi-bin" folder. You will want to search for and delete the "-bin" in your "contact.htm" page.

Other Options:
Another way to proceed, if you do not have Allwebco hosting, is to get a sample contact form from your hosting company, get the sample form working with their instructions and support. Once the form is working, code from the sample form can be added to the template "contact.htm".




Related Topics:
E-mail help and redirection
Adding fields to the contact or quote form
Setting up the contact form using Formmail PHP

Links:
Alternate Formmail script