Welcome to the Tectite Forums! You can download and get support for our free PHP FormMail (form processor) and other free software.
Here you can find answers to questions about how the board works. Use the links or search box below to find your way around.
If you're familiar with Matt's FormMail or NMS FormMail or other FormMail clones, here are some of the main differences if you want to switch:
If you're upgrading from Matt's FormMail, you can use the Upgrade Wizard.
There is a free Community Support Forum where you can get assistance from other FormMail users.
You're also welcome to browse the Subscription Support Forum.
If you want guaranteed help from the author of FormMail, you must subscribe for support or purchase one of our commercial products. For more information or to get started with a subscription, click here.
There are two important configuration settings you need to make. Use a simple text editor like Windows Notepad, WordPad, or "vi" to edit formmail.php. Some people have recommended skEdit, TextMate, and BBEdit for Macintosh users. Search for the configuration settings using the search function of the text editor you're using.
Do not use DreamWeaver or FrontPage to configure FormMail, as some versions of these programs are known to corrupt PHP scripts.
First, set DEF_ALERT to your email address. Like this:
Now, upload formmail.php and test that alerts work by opening formmail.php with your browser:
You should receive an email. If you don't receive the test alert email then there may be a problem with your server. Use the server test scripts at the top of the Formmail Support Forum.
Once alerts are working, you can now move to the second configuration setting: $TARGET_EMAIL.
$TARGET_EMAIL tells FormMail which email addresses are valid to send to. This setting protects your server, and the Internet in general, from spammers.
Inside formmail.php, just above this setting you'll find extensive information. There are also many examples that you can use.
If you want your forms to send to one to just one email address, here's how to set $TARGET_EMAIL....
Suppose you want forms to send to "email@example.com", you could set $TARGET_EMAIL as follows:
Alternatively, suppose you want forms to send to any address at "smithy.org", you could set $TARGET_EMAIL as follows:
After making the $TARGET_EMAIL setting, upload formmail.php to your server and proceed by using our sample HTML form.
99% of Tectite FormMail users have no problems at all - it just works on their server. If you read the forums, you're seeing posts from the small percentage of people who do have problems.
One of the common faults is that you've installed FormMail and the sample form, preferably using the Configuration Wizard, and you get no errors but no email.
If this is what you're seeing, then the fault is on your server. FormMail always displays an error if it's told there's been an error. If your server "tells lies" and says it's accepted the email for delivery, but doesn't deliver it, then you can't blame FormMail for that!
We have a document specifically about Solving Email Problems. We recommend you read that after reviewing the information below.
FormMail provides a number of configuration settings to workaround server problems.
The first step is to get FormMail alerts working (this is how FormMail tells you about errors). If FormMail can email an alert message to you, then it can also email form results to you. You can use the testalert feature to test alert messages (see the README file from the Configuration Wizard, or just "http://yourdomain/formmail.php?testalert=1").
You can also use the server test scripts at the top of the FormMail Support Forum.
The configuration settings that you may need to use to overcome your server's problems are:
Once you have FormMail alerts working, you may still have problems with getting form results. This is because FormMail attempts to send you form results with the "From" line set to the submitter of the form. For example, if Jack Smith submits your form and enters an email address of "firstname.lastname@example.org", FormMail sends you an email that says the form submission is from "email@example.com".
With good servers, this is not an issue. This is what most website owners want to happen. However, some servers stupidly treat this as some sort of spammer activity and refuse to send the email. (Worse still, they generally don't provide any error message - they just accept the email for delivery and then silently throw it away!) If you haven't decided on your hosting provider, check out our advice on picking a good hosting provider. A number of FormMail users have ditched their hosting providers and found better ones when they've discovered the stupid restrictions on their servers.
If you have managed to get alerts working by setting FROM_USER to an address in your own domain, but form results don't get sent, then it's likely your server is one of the stupid ones. (No offense intended - it's not your fault - it's your misguided hosting provider's fault.)
To workaround this, you can use the FromAddr option in FormMail's mail_options feature. The only problem is that all your form results will look like they've come from you instead of the submitter of the form.
Once you get alerts working, if you then get alerts from testing your form that say "Failed to send mail", this almost certainly means that your server will send email that has a From address in your domain, but will not send email that has a From address outside your domain. (At least your server is telling you it's failed...be thankful for that!) The workarounds are as described above.
If you've configured FormMail, and whenever you submit a form you receive an alert message like this:
The following error occurred in FormMail : no_valid_recipients ********** Error=The form has an internal error - no valid recipients were specified.
then you've either made an error in configuring FormMail or in setting the "recipients" (note the "s") hidden field in your HTML form.
Review the FAQ on configuring FormMail.
Also, use our sample HTML form to develop your own form.
If you receive a message in your browser similar to the following:
An error occurred while processing the form. Please contact us directly since this form is not working. We apologize for any inconvenience this error may have caused. Your form submission was processed by (7.05), available from www.tectite.com.
this indicates two things:
This is usually a configuration error in your server's PHP.
PHP must be configured to have a valid directory for creating temporary files.
If FormMail cannot create a check file, then you need to contact your hosting provider to have the problem with the temporary directory solved.
Note that the temporary directory must be configured as a directory not a URL. Your hosting provider should know the difference!
As a workaround, you can create your own directory for temporary files. Review the configuration setting in formmail.php called SCRATCH_PAD.
Another way this problem can happen is if you've changed your website user in some way. For example, if your server user ID was "myweb" and now it's "mynewweb", this could create a permission problem with re-creating or overwriting the check file.
If the check file mentioned in the error already exists, try removing it from your server. When you run FormMail again, it will be re-created with the correct access permissions.
Your final option is to disable the automatic version check. To do this, set CHECK_FOR_NEW_VERSION to false.
During editing or upload of formmail.php you've damaged it.
This means the PHP script is corrupted and will not run.
The message can vary, but here's one example:
To resolve this problem you need to download FormMail again and be very careful when you configure it.
Use the examples provided for $TARGET_EMAIL and DEF_ALERT.
Use a simple program such as Windows NotePad. For Macintosh users, some people recommend skEdit, TextMate, and BBEdit.
Do not use DreamWeaver or FrontPage to configure FormMail, as these programs are known to corrupt PHP. Review the FAQ for Configuring FormMail for more information.
It's also much easier to use our FormMail Configuration Wizard than to edit FormMail manually.
There are two ways to do this: the easy way and the harder way.
The harder way is perfectly secure (no one can get your email address from your form) and the easy way is pretty good - if you're clever about it, only a human may be able to get your email address, and spambots won't be able to.
The easy way is with the AT_MANGLE configuration.
Our Configuration Wizard automatically enables this for you and provides a sample form that uses it.
The harder way requires a little more understanding and an extra file on your server. This is the INI file feature.