Welcome to Dagon Design. In addition to free scripts, WordPress plugins, and articles, we offer a variety of services including custom theme design, plugin creation, and PHP scripting. Contact me for more information.

Version 5.41   Updated Tuesday, May 13th, 2008 at 7:19pm

Secure Form Mailer Plugin For Wordpress

This is the WordPress plugin version of my secure PHP form mailer script. This plugin has a wide range of features including: Support for multiple instances, an easy to use dynamic form generation system (any number of fields, in any order), multiple recipients, multiple file attachments, optional auto reply feature, an image verification system, numerous security features (including protection against email header injection), a message template system, multiple languages, and too many other things to list. This plugin was designed to be easy to use, while still being extremely flexible. If you just want a simple contact form, you can set one up with just a few clicks. For those of you who need something a bit more advanced, you can completely customize the plugin to fit your needs - whether it is 5 fields or 500. A non-WordPress version is also available. ReCaptcha support has also been added, as well as support for storing the data in a delimited file.

You can see a very basic implementation of the WordPress plugin version of this script on this site’s contact page.

Notice: non-WordPress Users

Information on the PHP version of this script

Languages

As of the latest release, this script contains language files for:

English, Brazilian Portuguese, Catalan, Danish, Dutch, Finnish, French, German, Greek, Italian, Norwegian Bokmål, Polish, Portuguese, Romanian, Russian, Slovak, Slovene, Spanish, Swedish, Turkish

If you would like to submit a language file please contact me.

WordPress vs PHP Versions

To make things easier to find, the two versions of this script share much of the same documentation. While the basic features are the same, there are several differences, so be sure to reference the proper page.

Table of Contents

Due to the size of this page, I have split everything up into sections:



Download



Changelog

Since both the WordPress and non-WordPress versions of this script are updated together, the changelog below reflects both versions.

  • 05-13-08 - v5.41 Added support for saving form data to a delimited file. Fixed a few issues including the loading of recaptcha files, and attachment support.
  • 11-25-07 - v5.4 Added support for ReCaptcha, manual form code entry, 5 new languages (Catalan, Danish, Polish, Romanian, and Turkisk), several html and css tweaks, and other misc. updates.
  • 07-27-07 - v5.33 Few minor bugs fixed. Finnish language file added.
  • 07-08-07 - v5.32 Error messages affecting form alignment issue resolved. Italian and Slovak language files added.
  • 06-18-07 - v5.3 ‘undefined index’ errors fixed, image verification adjustments, p tags removed from fieldsets, changes to help html validity, various other fixes.
  • 05-09-07 - v5.25 ‘Thank you’ message now allows for form field inputs as well.
  • 05-08-07 - v5.24 Auto-reply message now allows for form field inputs. Language selection issue resolved. str_replace errors (on certain servers) fixed. Norwegian BokmÃ¥l language file added.
  • 05-01-07 Not a version update. Greek and Swedish language files added.
  • 04-18-07 - v5.23 Renamed email verification function (to fix conflicts with other scripts). The GD check is now disabled if you are not using image verification. Added two new language files - Portuguese and Russian.
  • 04-18-07 Not a version update. Brazilian Portuguese language file has been added.
  • 04-03-07 - v5.22 Email generation code has been modified to try to work with more servers. French language file has also been updated.
  • 03-28-07 - v5.21 Highly recommended update - Fixed an issue with the verification code not being handled properly. Nothing else has been changed.
  • 03-25-07 - v5.2 Email generation improved - should work better in more email clients. Many issues with message generation and field types have been fixed. Better support added for field requirement options. CSS for various fields updated. Issue with submit button fixed. Dutch and French language files added. Checkbox and drop-down issues resolved. Email verification method improved. Undefined index errors fixed, and much more. Be sure to read the updated instructions for the field types.
  • 03-13-07 - v5.1 Lots of updates: Slash escaping has been improved, p tags are now added around form elements, each form instance can have its own language setting, the language selection issue has been fixed, improved foreign character support in messages, check box handling improved, and a new optional auto reply feature has been added.
  • 02-06-07 - v5.0 This is a major update from version 4, and because of this, I have completely re-written this page, and removed the old changelog to save space.


Installation

  • 1) Download and uncompress dd-formmailer-wp.zip
  • 2) Upload the entire dd-formmailer directory to your WordPress plugins directory
  • 3) Activate the plugin
  • 4) Configure your options (explained below)
  • 5) Add the form to your page (explained below)


Quick and Basic Configuration

While this plugin is highly configurable, some of you may just want to get up and running quickly with a simple (and secure) contact form. If so, these are the minimum configuration changes you must make:

Create a new WordPress page, and type in the trigger text:

<!-- ddfm1 -->

Under Options -> DDFM1, fill in the following options:

Contact page - Enter the full URL of your newly created contact page.

Recipients - Enter your email address.

Click Update options and you are finished! If you would like to learn more about the other features of this plugin, please continue reading.



Initial Configuration

After activating the plugin, you will have a new options page in the admin panel - DDFM-Main. These are the settings that apply to all instances of the plugin:

Instances - The number of contact forms this plugin will generate. If you just need a single contact form, leave this set to 1.

Image Verification Method - There are three choices for image verification. It can be disabled, you can use the script’s built-in system (a simple captcha - requires GD support on the server), or you can use the ReCaptcha system (requires signing up for a free account at recaptcha.net)

Basic Method Options - If using the basic image verification method, you can choose the text and background color for the image (3 or 6 digit hex codes). By default, the script will try and choose the best file format for the verification image, but if it gives you any problems, you can manually specify the format to see what works best for your server.

ReCaptcha Method Options - If using the ReCaptcha image verification method, you must enter the public and private keys given to you at the ReCaptcha website. These are used to generate the verification form, and the keys are specific to the website under your account (meaning if you use this script on multiple sites, you need a set of keys for each).

A ‘Load Default Options’ button is available if you wish to reset the settings on this page.

Each instance you create will have its own options page - DDFM1, DDFM2, etc. This is where you configure the settings for each individual form. These settings are listed below.



Form Configuration

These are the settings found on the options page for each instance:

Language - The language you want to use. To create a new language, simply duplicate the existing English.php file (in the plugins lang subdirectory), give it a new name, and edit it for your language. It will then automatically appear in this list (after reloading the page).

Contact page - This is the full URL of the page the form is actually going to be displayed on.

Recipients - If sending to a single recipient, all you have to do is enter the email address. This plugin supports multiple recipients, including CC and BCC, and even a drop-down box for recipient selection. Information on these configurations can be found further down on this page.

Form Structure - This is where you define the fields that will be used on this form. There are a lot of options available for this, and they will be explained further down as well.

Manual Form Code - This is a very advanced option that has its own section on this page.

Sender name, Sender email, and Email subject - These options help generate the email headers. If you enter a field name, it will be replaced by user input from that field. For example, if you have a form field called fm_name and you use that as the Sender name option, the visitor’s name will be used as the From field in the email. You can also combine them. If you have a field called fm_firstname and fm_lastname you could enter ‘fm_lastname, fm_firstname’ - For the Sender email option, just use your email field.

The Email subject option works the same way. For example, you could enter ‘Contact: fm_subject’ and it will use the subject that the visitor entered, with the ‘Contact:’ prefix.

Message Structure - This feature is optional. If left blank, the script will generate the email message itself, which will include all the data the visitor submits. If you choose to use this option, it will act as the message template. Simply enter your custom text, including your field names. When the message is generated, the field names will be replaced by the user input from those fields. Note: Since the script will just do a search and replace for field names, be sure they are unique enough. Example: A check for fm_message2 would also get triggered by fm_message when the script adds in the input.

Auto Reply - This is an optional feature that allows you to automatically send a pre-defined message back to those who contact you. More information on this is below.

Success Message - This is the text that is shown after the email has been sent. You can also use field names in this, and the user input from those fields will be used to generate the message.

Show required - If enabled, required fields will be marked with an asterisk.

Show IP and Hostname - If enabled, the visitor’s IP and hostname are added to the message.

Wrap messages - This option wraps message lines to 70 characters to comply with RFC specifications.

Max upload size - This allows you to set the maximum file size (in bytes) for attachment uploads. This option only applies if the setting is lower than the value already set in your php.ini file.

Save Data to File - When enabled, the form input will be saved to a delimited file.

Still Send Email - When using the delimited file feature, this option determines whether or not the script still sends the email.

Data Path - The path to the file the data will be written to - relative to the script’s directory. Be sure to give this file write access.

Delimiter - Fields will be separated by this character. If this character is found in the actual data, it will be removed for simplicity.

Newlines - Newlines in input, such as text areas, will be replaced by this, to keep the data on a single line in the file.

The option page for each inststance also has a ‘Load Default Options’ button.



Other Configuration Options

With the exception of the text defined in the options pages, all text visible to the visitor is contained within the language file.

Visual changes to the form can be made in the included CSS file. The class names used in the examples below already exist within the CSS.



Usage

To show the form on your page, simply add the trigger text (followed by the instance number) to your page, just like you would any text:

<!-- ddfm1 -->

For those of you who want to display the form directly from a template file, you can use the following code:

<?php global $ddfm; echo $ddfm{1}->generate_data(); ?>

(where ‘1′ is the instance number)



Advanced Recipient Options

As mentioned above, if you want to send the messages to a single recipient, just enter the email address in the recipients field. To send to multiple recipients, separate the addresses with a | (pipe) character, and use one of the following prefixes for each: to= cc= bcc=

Examples:

to=user1@domain.com|to=user2@domain.com
to=user1@domain.com|cc=user2@domain.com
to=user1@domain.com|cc=user2@domain.com|bcc=user3@domain.com

You can have as many of each type (to, cc, bcc) as you like, and they can be in any order, although the first one in the list is the always the primary recipient, and must use to=

For those of you who want to let the vistor choose the recipient from a drop-down box, first you must enter selrecip in the recipients field. Then you must add a new line in the form structure box. Example:

type=selrecip|class=fmselect|label=Recipient|data=(select),User1,
user1@domain.com,User2,user2@domain.com

The type must be selrecip, but you can use whatever you like as the CSS class, and label. The first item in the data parameter is the default (unselected) option. After that are the names and email addresses. You can add in as many as you like - just keep them in the proper order (name,email,name,email,etc..). Only the names are visible within the HTML for privacy reasons.

The ‘(select)’ item is the default selection, which the user must change to submit the form. You can change the ‘(select)’ text if you choose.



Advanced Form Structure


This plugin uses a dynamic form generation system, which means that by simply adding a new line to the form structure, you will have a new field in your form. You can have as many fields as you like, and in any order. The only field type that you must absolutely have is the verify field if you are using the image verification option. All of the fields are explained below, with examples. Separate each field type with a single newline in the form structure option. (Some of the examples below are bit long, so they are wrapped to the next line - be sure that the only newlines are after each field type when adding them to your form structure.)

These are the different parameters that apply to most of the field types (Special exceptions and parameters unique to a particular field are listed under each field type):

  • type - This tells the plugin what type of field you are adding.
  • class - The CSS class used to style the field. The classes used in the examples below already exist in the CSS file.
  • label - Text that is shown next to the field.
  • fieldname - The name of the form field (must be unique).
  • max - Maximum number of characters allowed.
  • req - (OPTIONAL) If you want to require a field, set this to true. If not, do not add it.
  • default - (OPTIONAL) This allows you to specify the default value of a field.

TEXT

This is a standard text input field.

type=text|class=|label=|fieldname=|max=|[req=true]|[ver=]|[default=]

The text field type has a special parameter - ver - which can be used to verify the input. You can choose email (which checks that the input is a proper email address) or url (which checks that the input is not only a proper URL, but that it actually exists). If you do not want to use either validation option, do not add this parameter.

Examples:

type=text|class=fmtext|label=Name|fieldname=fm_name|max=100|req=true 

type=text|class=fmtext|label=Age|fieldname=fm_age|max=100|
default=Enter your age! 

type=text|class=fmtext|label=Email|fieldname=fm_email|max=100|req=true|
ver=email 

type=text|class=fmtext|label=URL|fieldname=fm_url|max=100|ver=url

PASSWORD

This is a standard password field. It is exactly like a text field, except it shows asterisks when the user types.

type=password|class=|label=|fieldname=|max=|[req=true]|[confirm=true]

The password field type also has a special parameter - confirm - which if set to true, it duplicates the password field, so that the visitor has to confirm their input. If you do not want to use this, do not add the confirm parameter.

Examples:

type=password|class=fmtext|label=Password|fieldname=fm_pass|max=100|
req=true|confirm=true
 
type=password|class=fmtext|label=Secret Word|fieldname=fm_secret|max=100

TEXTAREA

This is a standard text area, for multiple lines of text.

type=textarea|class=|label=|fieldname=|max=|rows=|[req=true]|[default=]

The textarea field type has a special parameter - rows which defines the number of rows in the field (required for valid html).

Examples:

type=textarea|class=fmtextarea|label=Message|fieldname=fm_message|
max=1000|rows=6
 
type=textarea|class=fmtextarea|label=Message|fieldname=fm_message|max=1000|
rows=4|req=true
 
type=textarea|class=fmtextarea|label=Message|fieldname=fm_message|max=1000|
rows=10|req=true|default=Type here!

WIDETEXTAREA

This is exactly the same as the standard textarea, except that it’s wider, and the label is above it instead of to the side.

type=widetextarea|class=|label=|fieldname=|max=|rows=|[req=true]|[default=]

Example:

type=widetextarea|class=fmtextwide|label=Message|fieldname=fm_message|
max=1000|rows=10|req=true

* Note that the normal textarea, and wide textarea fields use a different CSS class for formatting.


VERIFY

This field is required if you are using the basic verification method. It does not apply if you are using the ReCaptcha method. It is used for placement of the verification image (and associated text box) in the form.

type=verify|class=|label=

Example:

type=verify|class=fmverify|label=Verify

FULLBLOCK and HALFBLOCK

These are not standard form fields, but simply a way you can add text to your form. The full block is as wide as a wide textarea, while the half block is aligned with other standard fields. You can use basic HTML in your text if you like.

type=fullblock|class=|text=
type=halfblock|class=|text=

Examples:

type=fullblock|class=fmfullblock|text=This could be some sort of 
introduction message.
 
type=halfblock|class=fmhalfblock|text=This could be used to explain a field 
in greater depth.

OPENFIELDSET and CLOSEFIELDSET

These do just what the name implies - they open and close a fieldset in your form so you can help group fields together. It also allows you to specify a legend for the fieldset (required for valid HTML).

type=openfieldset|legend=
type=closefieldset

Examples:

type=openfieldset|legend=Your Information
 
(other field would go between these)
 
type=closefieldset

CHECKBOX

The checkbox field can be used to generate a single checkbox, or a group of them. The usage is a bit different than the other fields.

type=checkbox|class=|label=|data=
(fieldname),(text),(checked),(REQUIRED),
(fieldname),(text),(CHECKED),(REQUIRED)...

As you can see, the checkbox data is a comma separated list of four items per checkbox:

  • fieldname - A unique fieldname for each checkbox in the form.
  • text - The text shown to the right of each checkbox.
  • checked - true or false. This allows you to make checkboxes checked by default.
  • required - true or false. If true, it means that the user must check the box to send the message. Mainly useful for ‘check here to agree’ type situations.

Examples

type=checkbox|class=fmcheck|label=I Agree|data=fm_agree,I agree to the 
terms,false,true
 
type=checkbox|class=fmcheck|label=Interests|data=fm_i1,Computers,false,
false,fm_i2,Art,false,false,fm_i3,Music,false,false

RADIO

This field generates a group of radio buttons. Radio buttons are similar to checkboxes, except that they are treated as a group, and only one option may be selected.

type=radio|class=|label=|fieldname=|[req=true]|[default=]|data=(text),(text),
(text)...

The req and default items are optional. req, if set to true, makes the field required. default can be set to the option number you want to be selected by default (starting at 1).

Examples:

type=radio|class=fmradio|label=Gender|fieldname=fm_gender|data=Male,Female
 
type=radio|class=fmradio|label=Color|fieldname=fm_color|req=true|default=1|
data=Unspecified,Red,Green,Blue

SELECT

The select field generates either a standard drop-down box, or a multi-select box, depending on the multi option. Option groups are supported as well.

type=select|class=|label=|fieldname=|[multi=true]|[req=true]|data=(#group),
(text),(text),(#group),(text)...

The multi and req options are optional.

If the field is required, the first option you have in the data paramater will be the default, which tells the user they need to select one of the options. If they do not change the default option, and it is required, they will receive an error.

The data field is just a list of the options, separated by a comma. To define the start of an option group, just prefix the group name with a # as shown below.

Examples:

type=select|class=fmselect|label=Age|fieldname=fm_age|req=true|
data=(select),0-30,31-60,61-90,91-120

type=select|class=fmselect|label=Colors|fieldname=fm_colors|
multi=true|req=true|data=(select),Red,Green,Blue

type=select|class=fmselect|label=Choose|fieldname=fm_choose|
data=#Category1,item1,item2,#Category2,item3,item4

FILE

The file field generates a file upload box. As with all other fields, you can add as many of these as you like, as this script supports not only attachments, but multiple attachments. The only thing to keep in mind is that you may need to find out the limit your server has set for file upload sizes.

type=file|class=|label=|fieldname=|[req=true]|[allowed=1,2,3]

The allowed field is optional, and lets you define a (comma separated) list of file extensions that are allowed to be uploaded. Otherwise, all file types will be allowed.

Examples:

type=file|class=fmfile|label=Upload|fieldname=fm_upload
 
type=file|class=fmfile|label=Upload|fieldname=fm_upload|req=true|
allowed=jpg,jpeg,gif,png


Manual Form Code

This feature allows you to manually specify the code used to generate your form. By default, this script uses the form structure information to dynamically generate the form. While this makes it easier for most people, since they do not have to write any code, it can limit those who need a bit more flexibility in their form structure.

Notice: Usage of this feature is a bit tricky. If you do not have a good amount of experience with html forms and CSS, I do not recommend attempting it.

  • 1) Customize your form using the ‘Form Structure’ option as you would normally - this is required even when using the manual code entry, as it allows for processing of the form.
  • 2) Be sure you have all your options exactly as you want them, and view your newly created form page.
  • 3) View the source of the page, so you can copy the generated html. The code you need is between the following lines:
    <!-- START of Dagon Design Formmailer output -->
    <!-- END of Dagon Design Formmailer output -->
  • 4) You can now customize this form code however you like, as long as the core elements of the form and fields are still in place.
  • 5) Enter your new code into the ‘Manual Form Code’ field in the options and save.
  • 6) If everything worked properly, your page will now use the custom form code. Once again, the standard form structure option is still required, as it is still for processing of the form.

You can also adjust the included CSS file to better fit your needs, or completely clear it out and manually create an entire new CSS structure for your task. Keep in mind that if you change any field items (or any options which affect the form code generation), you will have to repeat this process.

To disable the manual form code feature, just clear out the option for it.



Auto Reply Feature


The options page for each instance includes fields to define an auto reply message. This is a pre-defined message that is sent back to the visitor.

To use this option, simply enter the name, email address, subject line, and message for your auto response. To disable this feature, just leave the message field blank.

You can also use field names in the auto reply message, and the user input from those fields will be used to generate the message.



Saving Data to a File

This option allows you to save the form input in a delimited file. Please see above for a full explanation of the options.

With the WordPress version of this script, the path to the data file is relative to the root directory of your WordPress installation. Be sure to give this file write access.



Other modifications

Redirect after form submission - Method 1

It is possible to use Javascript to redirect the user after the form has been filled out. While this method is not 100% valid (Javascript redirection should go in the HEAD section of the page), it works. To add this feature, first find the following line in the script:

$o .= $sent_message;

And replace it with this:

$o .= '<script><!-- 
window.location= "http://www.mysite.com/" 
//--></script>';

(where mysite.com is the URL you want to redirect to)

Redirect after form submission - Method 2

This is another method you can use to redirect the user after the form has been submitted. First, find this line:

$o .= $sent_message;

And after it, add this:

$o .= '<META HTTP-EQUIV="REFRESH" CONTENT="4;URL=http://www.yoursite.com">';

Where ‘4′ is the number of seconds to wait before refresh, and the ‘http://www.yoursite.com’ is the URL you want to redirect to.

Passing values to the form

To allow values to be passed directly to the form, all you have to do is change all references of $_POST to $_REQUEST (The REQUEST superglobal contains the values of both POST and GET items)

Modifying the script to use HII for image verification

Miro has posted instructions for users wanting to use HII: Read the comment. Notice: Modifications listed in the comments may not apply for new versions of the script.

Using SELRECIP and BCC together

The easiest way to do this, is to find the following line in the script:

$send_status = mail($send_to, $email_subject, $msg, $headers);

If you are using SELRECIP, the message will be sent to whoever the visitor chooses. If you would also like the message to go to someone else, no matter who is chosen, just duplicate that line like so, adding in the address of the secondary recipient:

$send_status = mail("user2@domain.com", $email_subject, $msg, $headers);



Troubleshooting

Verification image not showing up

The first thing to do is check to make sure your paths are set correctly in the options.

This plugin automatically chooses the best file type to generate the verification image. If your verification image is not displaying, the problem could be that your server will not properly generate that type of file. You can manually set this using the ‘Force image type’ option under the DDFM-Main options page. It allows you to manually specify jpeg, gif, or png.

Try all the options to see which works best for you.

Problems sending email

The most common question I receive is ‘Why am I not receiving email from the script?’

There are many reasons this can happen. The first thing to do is make sure you have access to the PHP mail function on your web server, and that there are no restrictions in place that might prevent certain features of this script from working. If you are not sure, please ask your host for information. Unfortunately, I am not able to spend the time troubleshooting general server issues for everyone.

Also try having the script send the messages to another email address (on another domain), just to be sure the problem is not with your email account.

If you believe you can use the PHP mail function and have already tried a different email address, create a small PHP file with the following contents (be sure to use your own email address):

<?php mail('you@domain.com', 'test subject', 'test message'); ?>

Open the file in your browser and then check your mail. If you did not receive the message, something is not set properly on your server, and the trouble is not with this script. Even if other mail scripts work for you, that does not mean this one will, as there are several methods to send mail in PHP.

If you do receive the message, it most likely means that your server is configured to not allow the use of the fourth parameter (extra headers) in the mail() function. To work around this, replace this line:

$send_status = mail($send_to, $email_subject, $msg, $headers);

With this:

$send_status = mail($send_to, $email_subject, $msg);

The only downside is that certain features (such as some header information, and the ability to send to multiple recipients) will be disabled. You may be able to contact your host and have them change this though. Many hosts add in this restriction for security reasons, to protect against unsafe scripts.

Lastly, some servers require an extra parameter for the mail function that specifies who the message is from. In many cases, this must be an email address on the server itself. Example:

$send_status = mail($send_to, $email_subject, $msg, $headers", "-f user@domain.com");

‘Headers already sent’ error

Another common question is the ‘headers already sent’ error message. Without getting into the details, this generally happens when something is output to the browser before a call to set_cookie, header, or a number of other PHP functions. Be sure there is no extra whitespace at the top of your file.

For WordPress users, it is also always a good idea to disable your other plugins temporarily to make sure that nothing is conflicting.

Mail headers showing up in message body / attachments not working

This issue can be caused if your server does not like the return/newline character set being used to end lines of the email headers. If you are experiencing this problem, try changing this line:

if (!defined('PHP_EOL')) define ('PHP_EOL', strtoupper(substr(PHP_OS,0,3) == 'WIN') ? "\r\n" : "\n");

To this:

if (!defined('PHP_EOL')) define ('PHP_EOL', strtoupper(substr(PHP_OS,0,3) == 'WIN') ? "\n" : "\n");

If you require special SMTP settings for mail to be sent

If you have to manually specify the SMTP settings, you can do so with the following code. This is only recommended for advanced users.

ini_set("SMTP","mail.MYDOMAIN.com");
ini_set("smtp_port","587");
ini_set("username","MYUSERNAME@MYDOMAIN.com");
ini_set("password","MYPASSWORD"); 
ini_set('sendmail_from', $sender_email);
$send_status = mail($send_to, $email_subject, $msg, $headers);
ini_restore('sendmail_from');

(Just search for the reference to the mail() function to see where to add it)

Conclusion

Please be sure to read the entire article before asking a question. I spend a lot of time on the scripts and plugins available on this site, and it can be hard to keep up with all the requests. If you need modifications or a custom version, please contact me. Thanks for reading!

  1. Also, have you seen:

    http://www.zirona.com/software/contact-form-encryption-wordpress/

    Anyway support could be added?

  2. Hi,

    If I enable “ReCaptcha” option it causes the page to not display correctly as in no form and everything after where the form should be displayed does not display at all.

    I’ve tripled checked and both keys are correct.

    I’m running WP 2.5.1 .

    Any thoughts?

    Thanks,

    Will

  3. Version 5.41 has been released

    Saving form data to a file is now supported! Please see the new options for usage information.

    This update also includes a few minor fixes. It will no longer produce errors if the recapcha lib is already being loaded from another script, and the headers have been adjusted for file attachments.

    Enjoy!

  4. Do you know how I can show ‘email address’ in a text box and then disappear on focus? I am using Form Mailer 5.4

  5. 1190
    Tab

    Will this form only work on pages that are published?
    I have a page that has a link to the form and the link will not pull up the form (I am trying to avoid having that page on the sidbar).
    If not will it work if it is published and set to private. I have had no luck with this either.

  6. 1189
    Mark OLbert

    Okay, I failed the IQ test but I still have a problem…

    The IQ test: the example code for displaying the form is . If you’ve only got one instance this won’t work (duh). Why not help people out and make the example read , since I suspect the vast majority of users initially start off with only one instance?

    Now, however, nothing shows up on my contact page. No form. Not even the introductory text that should be there.

  7. 1188
    Mark OLbert

    Sigh. I can’t even get the form to show up in my blog. I did the mail test and I can get email. But nothing shows up on the contact form. Is it possible I’ve specified the URL incorrectly? Here’s what I entered:

    http://list.arcabama.com/board/?page_id=7

  8. I saw the part of passing values to the form but I’m not sure how to implement it.

    We have a wordpress site in development, with many users… we’ve got the user email as a variable, and want to pass that into the form, so instead of putting the email link directly on the website, it will link to a form which will send the email.

    Get what I mean? How can I send an email as a variable to the form to be used as a recipient?

  9. it all set up and everything seems to work right (works on my other older version of wp) , except no email is received or sent to me .. I am using semiologic version of wordpress 2.5 .. anything thoughts ??

  10. I have two forms: one is a contact form, plain and simple; the other is one modified to act as an event registration form. The success pages for each should be unique, but both forms only yield the success page for the event registration form. How can I fix this so that each form has its own success page. (Yes, I’ve used different HTML in the settings area to handle this, but it’s not working for the contact form.)

  11. If I have a lot of forms on my site (different languages, different features like newsletter or contact or registration etc.) … Is there a way I can NAME the instances, so that I don’t have DDFM1, DDFM2, DDFM3, DDFM4, DDFM5, DDFM6, DDFM7, DDFM8 in my admin menu?

  12. 1183
    Roman

    Hi,

    I have tried this plugin with WP 2.3.3 and 2.5 and everything works just one “error”. When I add to SELECT item value REQUIRED it seems not working, because anyway it sends the message if you select or not an item in this field.

    Roman

  13. I have some esthetical problems. In
    http://www.auravulcano.com/bienvenue/reserver I try to fix a arrival and departure form. It doesnt look so nice to have the boxes below each other. Anyone knows about how to set the boxes beside each other like fm_day / fm_month fm_year?

    Another problem is that the formmailer css seems to interact with styles.css. I dont understand where as I disabled al form css in styles.css.

  14. 1181
    Vincent

    I’m using the Dutch translation but the Field Names are still in english.

    How/where can I change this manually, tried some changes in the dd-formmailer.php but nothing works. i do not know where to change them exactly.

    please help.

    Thanks

  15. 1180
    Leon

    Hi

    As I was passing I thought I’d just say I have had the script installed in WP2.5 for a couple of weeks now and all testing so far has been 100%

    It is being used here in 2 forms:

    ‘Contact’
    ‘Reports’

    http://www.opcp.co.uk

    All fields return the relevant information and attachments work fine.

    Thanks D

  16. Nevermind, completely whiffed when reading the instructions. Put selrecip in the Recipients field and it works like a charm.

  17. Hi, I’m trying to set the form up with a drop down box for the user to select the recipient, but it’s not working. Here is the line I added to my form:

    type=selrecip|class=fmselect|label=To|data=(select),General Inquiry,user1@mydomain.com,Parts Sales,user2@mydomain.com

    I’m not sure what I’m supposed to put in the Recipients field, I have tried blank, user1@mydomain.com and the following:
    to=user1@mydomain.com|to=user2@mydomain.com

    With that field blank, the form doesn’t work. With an email address, all emails are sent to that address and not the selected address. The line with both email addresses sends every email to both addresses regardless of what’s selected.

    Any advice on how to fix this?

  18. Hi! When someone types something into the form that includes an apostrophe, I get garbage. I have a good idea of why that happens, but I’m wondering if you know of a plug-in, or something i can do, to get it to interpret special characters correctly. Any ideas?
    Thanks, by the way, again. I love your widgets. :)

  19. Hi
    WP 2.5 WordPress UTF8 Database UTF8 WPtables UTF8
    üch

    üöäß

    this is the result of :Üch, äöüß ;)

    I have updated the tables to utf8 before they are latin… I don’t know and our *special characters* work like acharm, now it is unreadable sometimes

    is there a chance to figure this out?

    kindly regards
    Monika

  20. 1175
    Mark Bieganek

    I was having some trouble updating the global settings for this plugin. Every time I would attempt to change the verification method to ‘reCaptcha’, I would receive an error “Cannot load DDFM-Main”.

    After some troubleshooting, I found the problem to be in the file, ‘dd-formmailer.php’.

    The trouble line was line 1853, which read:
    <form method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">

    The fixed line reads:
    <form method="post" action="">

  21. This website is currently using WordPress 2.5, and I have not seen any problems with it working so far. I have been testing it, and receiving emails from people from the form on this site.

    If anyone has any errors or problems getting it to work with 2.5, please be specific when telling me the problem.

  22. Does anybody know if tis script is compatible with Wordpress 2.5?

    Thanks in advance for any help on this!

  23. 1172
    Ben

    Thank you very much for your awesome mailer script!
    Worked perfectly, and easy to configure once I had read all the instructions.
    My hats off to you! :)

  24. 1171
    karynn

    I tried using the Contact form on this site and received an error… the form is using this plugin…

  25. How can I change the width of the textarea box. you can change the rows but not the columns…

  26. Hi, I used the mailscript in wordpress from the beginning, but since I downloade the latest version off the script and wordpress 2.3 I get a GD image from 2 milimeter not posible to read it?
    Any suggestions, I run my own macosxserver (oldie but runs super) macosxsever 10.4.
    Greetings Ton Hermans from the Netherlands.

  27. I’m using ReCaptcha - it works perfect - thanks!
    However, the field for entering the code, is ligned out to right, on top of their buttons, whereas it should be aligned to the left.

    I tried to edit ‘recaptchalib.php’, but no luck…

  28. I’m using this script on an upcoming template. I went with the advanced form options and I’m running into quite a bit of trouble. I get the name and email with no problems. There are about 15 other form fields that don’t show up in the email. Is this a common problem?

  29. Is it possible to attach a file to the autoresponder, so it can be used for folks to download a file via email?

  30. http://www.hatecity.vvcradio.com/?page_id=5

    sorry had to correct the URL to the page where i get the error.

  31. I am having an issue here, i am using this plugin on a WP page, it loads fine but when i hit submit i get the error “Not Found
    Sorry, but you are looking for something that isn’t here.”

    when i mouse over the submit button, it is showing a link to
    ?page_id=3.

    the URL is http://www.hatecity.vvcradio.com/page_id=5

  32. 1163
    Jon

    Really nice plugin!!
    Two things:
    - It’d be nice to have a feature to put hidden fields as in regular html forms.
    - It’d be nice as well to be able to send HTML mails.

    I had to modify the code to achieve these two, I hope you don’t mind but I really needed it! (very clear code by the way, thanks for that). I added type “hidden”.

    The 2nd. would be nice to have as an option in config.

    I hope you put these two so I don’t get out of sync with your updates.

    Again, really beautiful plugin, simple to use and configure! Keep the good work.

  33. 1162
    Francis

    I’m having trouble with the data filled in the forms not being included in the email. The only data I’m getting is the IP address stamp. What do I need to fix? Everything else in the set up is fine except this area.

    Tahnks in advance.

  34. Nevermind. I just remembered why. Thanks anyway!

  35. I temporarily deactivated this a few months back, but now that I reactivated it, it doesn’t appear in my Widgets listing anymore. It used to be there. Now it isn’t.

  36. Leo posted this after I posted:
    dragon design php script
    I’m not sure if it was meant for me. If it was, I don’t quite understand it. I know that somehow I need to connect the dd-formmailer.php file to the lang folder, but I don’t know how. I’m thinking I need to somehow tell it to go to the lang folder and get the english language. Is that correct?

  37. I have uploaded and installed the plugin but am getting an error message. It has something to do with this folder - lang. When I go to the form to configure it, there are no languages listed there. I’m sure it’s something very simple, but I’m not sure how to approach this. Thanks.

  38. Just tried it, and I have to say it’s very effective. Thanks

  39. 1156
    Karl Bedingfield

    Hi there,
    This is exactly what I have been looking for :)

    I only have one problem. I am using my own code in advanced and all works well apart from retaining values. I purposely left a field blank to check verification & required fields. The page refreshed but did not retain already inputted fields. What might I be doing wrong as I copied your fields as suggested.

    Thanks
    Karl

  40. 1155
    Andreas

    Great a plugin! Yet a propblem after upgrading. Instead of the verification-code the label is diplayed. What could be wrong? THANK YOU.

  41. Hello,

    I love your plugin but had a question. On my contact form page, I have some “intro” text before the form, telling users if they want to contact us to use the form below, etc. I noticed that when I submit the form with required form data missing, the error page returns with this intro text.

    I tried generating the HTML using the manual form box instead of the Wordpress page editor, but the into text is still displayed on the form validation error page.

    Is there a way to return *just* the error message and form in this case? Would creating a custom template fix this?

    Thanks a lot. All your hard work on this plugin is greatly appreciated.

    Best,
    Russ Cobb

  42. 1153
    nomad4

    Hello,
    I absolutely love this plugin! Thanks a lot!
    I just have a small problem: the auto-reply isn’t being sent out. I’ve filled out all the fields for that and used only one field in the body of the email (fm_name) as a greeting. I tried removing that and it still doesn’t work. Any advice on fixing this? Thanks.

  43. I had the same problem as Paul and Ed on comments 1148 and 1146. Having not used Wordpress for ages it stumped me for half an hour.

    Simple solution. When writing the activation code into the body text area. Instead of using the ‘visual’ tab, click the ‘code’ tab next to it, write it in there and all works fine.

  44. I would like to thank you for this contact form. I’m using the wordpress version on one site and the php version on a non software-powered site. They both work perfectly and I haven’t had any issues or spam whatsoever. =)

  45. Hi,

    How can I add a hidden field to the form ?

    Thanks
    Philippe

  46. This form has worked perfectly, except for one detail. The Verify field justifies left, but my Name & Email inputs are centered. I’d like them all on the left. I’m sure I’ve missed something small (http://tinyurl.com/yscpbe) …any help? Sorry if this is a repeat.

  47. 1148
    Paul

    I have the exact same poblem that ed post #1146:

    “Over a thousand questions and no one has this one, I must be an idiot. I put the string on the page I want the form to appear on, published the page, and all it contains is the string . I only have one instance (1) and the DDFM Main tab and the DDFM-1 tab are all filled out correctly. What have I done wrong?”

    I think something is wrong with the way I put the text in the text page but I can figure out what. do you have an idea?

    thanks a lot
    Paul

  48. 1147
    Jeff

    For some strange reason, I cannot get the forms to work above five. When you click the “Send Email” button, I get redirected to the same page without the Thank You message. I have mirrored the exact same settings as a form that does work, and have deleted the database settings to force a repopulation from scratch, but no luck. It’s as if there’s a limit to the number of forms.

  49. Over a thousand questions and no one has this one, I must be an idiot. I put the string on the page I want the form to appear on, published the page, and all it contains is the string . I only have one instance (1) and the DDFM Main tab and the DDFM-1 tab are all filled out correctly. What have I done wrong?

  50. I was using an older version until recently and thought I’d upgrade as WP was upgraded as well, unfortunately it doesn’t seem to want to play now.

    It works fine under local install (Mac OSX & MAMP) but on live server, nothing, the ‘Contact’ page only shows the header of the site and disables (not showing) the sidebar and ‘edit’ page option (when logged in).

    ?

    Looks like a return to older version until I can work out a solution.

  51. 1144
    Paul

    For those having trouble with empty message bodies, I think I’ve isolated the problem. The ddfm plugin specifies a MIME content-type of multipart/related, so that it can send text and attachments. However, most mail clients will further enclose the text part of the email within a multipart/alternative.

    A quick and dirty fix - if you don’t use attachments - is to simply change ddfm’s content-type to multipart/alternative. A better fix is to have ddfm encapsulate text portions within multipart/alternative.

  52. 1143
    Steven Fitch

    Hi, i am using the following

    type=checkbox|class=fmcheck|label=Journalism|data=fm_Journalism_In_Peru,Select,false,false

    The email that is generated only shows “Journalism:” and no indication to weather or not the checkbox was ticked.

    already looked through the rest of these comments and cant find an mention of it

  53. Kerry — I also experienced the white space issue. In the CSS I added float: left to the .ddfmwrap rule and it fixed it for me.

  54. The plugin works great. Thanks so much for this very useful addon. I use several of your plugins now. I really love them.

  55. Hi,

    Everything is working great beside one small issue. My radio options do not show up when I receive my e-mail. I have the field setup as the following in the form:

    
    type=radio|class=fmradio|label=Attending|fieldname=fm_attending|default=1|data="I want to share in the celebration! Sunsets romance and lots of drinks!","Don’t give away our beach chairs just yet! We are in need of more information.","We will be living vicariousmF&VvR6''vR6BRB 

    In e-mail this shows up as just Attending:

    Any ideas?

  56. Is it possible to attach a file to the autoresponder, so it can be used for folks to download a file via email?

    Or am I mixing functions up that should be mixed?

    Thanks!

  57. 1138
    The Dyke

    Hi,

    “If the field is required, the first option you have in the data paramater will be the default, which tells the user they need to select one of the options. If they do not change the default option, and it is required, they will receive an error.”

    No error in my case, it sends “(select)” anyway.

  58. I read through all the comments. I saw this issue addressed a few times, but I didn’t see a solution for it.

    I installed the plug in on my Contact page. I use firefox. There is a bunch of white space between the page title and the contact form is way down at the bottom. I can’t seem to figure out how to fix it. Can you help?

  59. Hello!

    I am a Turk, and i add your plugins, Turkish version on my website. Thank you man!

  60. Ok, I’ve tried everything, and I can’t get it to work. I’ve tried forcing the type, and made sure all the settings are correct, but no form is displayed when I enter the trigger text.

    All I get is the trigger text redisplayed on the contact page.

    Can you help?

  61. :( srry:

    define('DDFM_MSSENCODIG',get_bloginfo('charset'));

  62. Hi again ^^!

    umm… a little suggestion:
    Cannot send the message in UTF-8?… I haven’t checked the entire script but I think there will be not problem.

    To make this:
    on line 292 change the code below:
    $msg .= 'Content-Type: text/plain; charset="iso-8859-1"' . PHP_EOL;
    By:
    $msg .= 'Content-Type: text/plain; charset="UTF-8"' . PHP_EOL;

    Or… even add a constant to language …bloginfo or get_option both are all good choices. ^^!
    define('DDFM_MSSENCODIG',get_bloginfo('charset');
    $msg .= 'Content-Type: text/plain; charset="'.DDFM_MSSENCODIG.'"' . PHP_EOL;

    Regards.

  63. You’re absolutely the best, mate :D

    I’m working with some of your plugins (sitemap and this form) and all works so fine ^^!
    Specially I like it beacuse your work have a custom and flexible options… without complicated editions about the original code ( for translations, CSS and XHTML valid… pfff ) ;)

    Thanks a lot!
    PD: Srry lang :_(

  64. This is a great tool and I am really enjoying working with it. One question, when a user fails to fill out the required fields the form comes back and its blank, forcing the user to reinput all of their information.

    is there a method to populate these fields with their previous values?

    Tx!
    John

  65. Thank you so much, saved me a lot of time. Great plugin.
    Way cool!!

    Steve

  66. I followed the steps and I get this error when submitting the form:
    “Could not open socket”

  67. 1128
    dilbert

    sorry, I’m too geek :-(
    I found the answer in previous comment (just put the right word in the search field ;-) )

    In any cases, Thanks a lot for your work !

  68. 1127
    dilbert

    Hello,

    First of all, I would like to thank you for your work with this very pretty plugin.
    I’ve got just one little prob with it. I installed it on a French site and, thanks to the language choice, all info messages are OK but, in the message field, when special caracter (like é à è ù) are typed, in the mail we receive, all those special cara are unreadable… Is there a way to fix this ?

    Many thanks in advance for your help.

  69. I would like to thank you so much for this plugin.
    I am totally new to web site creations. But with wordpress,
    review-site plugin, and your ddformmailer, i have created a very satisfactory and useful site http://www.myxcompany.com.
    Thank you so much again .

  70. Hi I would like to use the redirect function to send them to another website after filling in the for. But I had some trouble understanding the instructions. Can someone please help me. It looks like it is pretty straight forward. I just don’t know how to find the code and edit. thanks

  71. 1124
    Brian

    Trying to figure out why this doesn’t display the image anymore..

    lighttpd 1.4.18, using server.error-handler-404 for clean urls, php 5.2.5 ( built with t1lib and truetype) the site is running over https with an invalid cert.

    Is there someway that I could debug why this isn’t working?

    Thanks in advance

  72. Upon further investigation, I think the way you have implemented radio buttons and checkboxes is needlessly complex as well as generating invalid XHTML. Radio Buttons and checkboxes only require a label and the label should be associated with the item in question. The fact that you have extra item text that ISN’T the label complicates things because you can end up with TWO pieces of text for each label and NEITHER of these text items is clickable. I’ve customised the function for my own purposes and to how I believe this should really work — would you like me to send you the changes?

  73. Oops, last comment trashed the HTMl. Should have been: “It generates invalid XHTML: You’re using DIVS around checkboxes and radio buttons but these are INSIDE a P element — DIVS cannot be put inside P tags according to the spec. You should use SPANS instead.

  74. Also, it generates invalid XHTML: You’re using around checkboxes INSIDE a — DIVS cannot be put inside tags according to the spec. You should use here.

  75. This is a great plugin which gives me all the functionality I need, excpet for one: why is the “for” attribute not generated for checkboxes? I should be able to select checkboxes by clicking their label, but I can’t as the “for” is missing.

  76. Hi,

    i want to save the uploaded files in the server (instead of sending them by mail).
    Could you give me a tip where should i look for into the code?

    thanks

  77. 1118
    ark

    Update on my comment below (# 1120) - I figured out to change the dd-formailer.php script from

    $msg .= ‘Content-Type: text/plain; charset=”iso-8859-1″‘ . PHP_EOL;

    to

    $msg .= ‘Content-Type: text/plain; charset=”utf-8″‘ . PHP_EOL;

    HOWEVER, although that solves my problem with me receiving special characters (called umlaut in German) on my emailed form, the Auto-Response e-mail to those who write to me still get geek characters. The auto-repo cannot yet send utf-8 but is still stuck on iso-8859-1, latin.

    I don’t know php well enough to know if I have to add a statement in the dd-formailer.php where the auto-response email seems to generate from to include some sort of

    ‘Content-Type: text/plain; charset=”utf-8″‘ . PHP_EOL;

    statement.

    Can someone help me please?

    I would appreciate help asap

  78. 1117
    ark

    Hi, I am on a German server but this plugin isn’t sending the German characters properly, instead i get several geek characters. Any idea where the problem is. Again, my Wordpress is set up with language German (DE) and other forms send the German umlaut.

    PS. I have a plugin to search comments, it would be helpful hear to be able to search comments too.

    PPS. Wonderful plugin, I have a complex form and this works great.

  79. 1116
    Eric Lee

    For your info,
    The plugin has a conflict with Headspace2, which will sent 2 email on each page reload.

  80. I have just installed the Secure Form Mailer Plugin. I am getting the emails but the body is blank. We have upgraded to WP 2.3.2, I am not sure that this has anything to do with it.

    The headers are updated, the from is correct, the subject is correct.

    The bodys are blank regardless if I let the plugin format the message or create my own.

    Running PHP 4.3.2

  81. Hi Guys The problem of the SELECT option is the SPACE on the code. CONTROL the CODE ed insert it without the space.

    NOT CORRECT

    type=select|class=fmselect|label=Age|fieldname=fm_age|req=true|
    data=(select),0-30,31-60,61-90,91-120

    CORRECT
    type=select|class=fmselect|label=Age|fieldname=fm_age|req=true|data=(select),0-30,31-60,61-90,91-120

  82. 1113
    Martha

    Thanks for this very helpful form.

    One thing I have a question about is how to send the form to multiple variable recipients. My form has 5 different email fields that the user can enter to send the form to friends. I have named the email fields fm_email1, fm_email2, etc. However when I try to enter these field names in the ‘Recipients:’ list, the form does not send to these variable recipients. Instead the form tries to send the message to “fm_email1@host.com”. How can I get this to work so it will actually send to multiple variable recipients?

    Thanks so much!

  83. Thank you for this plug in it was exactly what I was looking for!

  84. 1111
    Tracy

    Hi,

    I’m trying to validate the page with the form on but XHTML does not allow <div> tags with a form it seems.

    I get:

    document type does not allow element "div" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag.
    
    …"fieldwrap"><label>Options</label><div class="fmradio">

    Anyone solved this problem?

    Thanks, Tracy

  85. I already have customized 4 contact forms and would like to have 5. If I change the 4 to a 5 in the main, will this reset all 4, or just create one more contact form?

    Thanks,

    Mike

  86. Update… I’ve confirmed that the Auto Reply feature works *IF* you insert a target e-mail address manually (by erasing the $sender_email variable and replacing it with an e-mail address directly). So somewhere along the line the $sender_email variable is getting cleared or something…

  87. I think there may be something wrong with the Auto Reply feature. When I’ve configured it according to all the instructions, an auto-reply message is indeed created and sent. However, it’s sent to the e-mail address I put into the Auto Reply “from” address rather than being sent to the “sender_email” variable in the script.

    I’ve tried reading the PHP to find the source of the problem but I’m simply not experienced enough to see where the script goes awry (assuming it’s the script, of course).

    I doubt it makes a difference, but I’m on PHP 5 and Apache 2 with WordPress 2.3.1. The PHP mail() function works fine for me. It’s just where the Auto Reply message is sent that’s not working.

  88. WOOHOO! I figured it out. I placed the code in an iframe, whatever that is. One small, itty bitty problem though. After clicking “Send Email” How do I have the broswer redirect to thankyou.html??

  89. 1106
    Fokjulle

    Excellent application. When editing the CSS, where exactly do you edit the code that changes the style of the “submit” button (so that it doesn’t have they standard grey boring look)?

  90. 1105
    mitch

    I am trying to duplicate the form at http://rebathofillinois.com/free_estimate.cfm and I have it pretty done. But how can I get that middle paragraph of text in there above the bottom part of the form? please let me know if possible.

    otherwise mucho love on the plugin

  91. Hello, compliments for the good plugin. I have tried to install and with the default settings everything works well. But when I utilize the “Manual Form Code” I have noticed that, in case of the errors at the moment of the submit, the values in the fields are not maintained. I don’t know if that is due to a limitation of plugin or not. I have also tried to insert in the field “Manual Form Code” the same html code generated from the default settings (without any personalization) but the values are not maintained. They are maintained only when using the standard method. Is that normal? Thanks

  92. Is there a maximum number of characters permitted in messages? If so, is it possible to increase that & how?

  93. 1102
    dbarbara

    Hi — just wanted to add that I tried each the trubleshooting suggestions above except the last one — am using a gmail address that has worked in the past with this host.
    Thanks!

  94. 1101
    James Riemermann

    The wp-mail-smtp plugin URL got stripped out in my last post, I think because I put it between angle brackets. Let me try again:

    http://www.callum-macdonald.com/code/wp-mail-smtp/

  95. 1100
    James Riemermann

    Hi,

    This wonderful plugin stopped working for me because my host disabled the ability to send emails from “nobody” using PHP’s mail() command. I wasn’t able to solve it using the suggestions on this page, but I was able to solve it as follows:

    1. Install the WP-Mail-SMTP plugin, which reconfigures the wp_mail() function to use SMTP instead of mail() and creates an options page to manage host, username, password, etc. The plugin is available here:

    2. Change the two instances of “mail()” in the DDFM script to “wp_mail()”

    This solved the problem immediately. If the developer or anyone else has ideas for fixing this simply without involving another plugin, I would welcome them.

  96. I stand corrected, thanks Matt for steering me in the right direction. I jumped the gun by assuming the fatal error I received at installation was caused by an incompatibility issue. It is not the akismet spam protection plugin that comes stock with 2.3 was the culprit. After deactivating and installing the form mailer worked like it should.

  97. Thanks for the great plugin!

    Only one problem I was hoping someone might be able to help with: the verify letters are too small to read in Safari 3.0.4 (but they are perfectly readable on every other browser, however).

    Here’s a link to the page http://www.thefilter.ca/articles/submit

    I’ve looked high and low for an answer to no avail. Any help would be greatly appreciated. Thanks

  98. 1097
    Galinux

    Hey,
    that’s awesome plugin! However I experience an issue with upload.
    It doesn’t allow me to uplad files with extensions such as zip and cdr even when I remove all the restrictions for allowed extensions.

  99. hi folks

    i worked out my problem. the code is working now.
    i had forgotten - my code had spaces in it - that is why it was not working i think.

    http://worldpeacepoll.com/fabradio/?page_id=199

    alto

  100. Version 5.4 has been released

    Several new features have been added. There are now three choices for image verification:

    1) disabled
    2) basic (uses the scripts own simple captcha - GD required)
    3) ReCaptcha (uses the system from http://recaptcha.net - requires free account sign-up)

    Also, an option has been added to manually specify your own form code. This means that you can choose to either use the dynamic form creation system (which requires no code to be written), or completely customize the form yourself. This is an advanced option, however, and requires decent knowledge of html and css.

    5 new language files have also been added: Catalan, Danish, Turkish, Polish, and Romanian

    Information has also been added (under ‘Other Modifications’) on how to use SELRECIP together with BCC.

    And lastly, several html and css adjustments have been made, to help with various issues.

    Enjoy!

  101. 1094