Ancient Version History of Tectite FormMail. This information was originally included inside the formmail.php download. Version history for versions 7 and upward can be found here: http://www.tectite.com/fmdoc/version_history.php **Version 6.02: 17-Mar-2005 * * Added system error message to the alert that's sent when a check file * cannot be created. * * Added the "null" filter. * * Added new configuration setting ZERO_IS_EMPTY. * * Renamed "fm_modules" to "fmmodules". * * Implemented "and" for "conditions" testing. * **Version 6.01: 11-Mar-2005 * * EMAIL_NAME now includes '-', so you can use this to match email * addresses like "jack-smith@somesite.com". * The Upgrade Wizard will put in the new value and discard your * previous setting. * * Added some more comments/examples for Windows Servers. * * Added new filter options "KeepInLine". If you use the Attach option, * you can also specify KeepInLine. KeepInLine causes the filtered * results to be kept in the body of the email as well as being attached * according to the Attach option. KeepInLine is ignored if Attach is * not specified. * **Version 6.00: 20-Feb-2005 ******* MAJOR UPGRADE ******* * * Added support for new FMCompute module. This creates new special * fields called "fmcompute" or "fmcompute1...N", and "fm_modules". * Adds new configuration $MODULEDIR to hold the directory for * modules. * Added GeoIP module support via FMCompute. Adds new configuration * $GEOIP_LIC to hold your MaxMind license code. * Created IncludePath functions. * **Version 5.03: 31-Jan-2005 * * Workaround a problem with empty file uploads on some * servers and/or PHP versions. * **Version 5.02: 19-Jan-2005 * * Fixed problems with upgrading and copying the $FROM_USER and * $REAL_DOCUMENT_ROOT configurations. $REAL_DOCUMENT_ROOT has * been replaced with a setting called "$SET_REAL_DOCUMENT_ROOT". * * Added support for Environment Variables and Server Variables * to be accessed to create derived fields. * * Fixed bug in last version when processing FromAddr. * **Version 5.00rc1: 10-Dec-2004 ******* MAJOR UPGRADE FOR INTERNATIONALIZATION ******* * * Added support for languages other than English. * * FromAddr is now processed with the AT_MANGLE feature...this means you * can hide this mail_options setting from spam bots too. * * Altered some error messages. Socket filter errors are no longer shown * to the user. * **Version 4.10: 9-Dec-2004 * * Added default setting for $TEMPLATEURL - without it the Upgrade Wizard * failed to upgrade properly. * Fixed bug in filtering process. This bug would probably not manifest * on Unix servers, but may do on Windows servers. * **Version 4.09: 8-Dec-2004 * * Added new configuration options: * SENDMAIL_F_OPTION, which supersedes the "SendMailFOption" specification * in "mail_options" in forms * INI_SET_FROM which allows you to workaround bad PHP * configurations on Windows servers * **Version 4.08: 29-Nov-2004 * * More changes to set $REAL_DOCUMENT_ROOT correctly. This is now * also an optional configuration setting. * **Version 4.07: 29-Nov-2004 * * Fixed bugs with handling regular expressions in "conditions" on * server configurations with magic_quotes_gpc set On. * With magic_quotes_gpc set On, any backslashes in your regular * expressions would be stripped, thereby changing the meaning of your * regular expressions. * * Fixed bugs with handling slashes in data. Backslashes were being stripped * twice on server configurations with magic_quotes_gpc set On. * * Also fixes problems with storing CSV data that contains innocuous * slashes. With LIMITED_IMPORT set to true, backslashes were being * unnecessarily stripped. * With LIMITED_IMPORT set to false, backslashes in data could cause the CSV * file to be unreadable by an intelligent importing program because they * were not being backslashed. They are now backslased (escaped). * **Version 4.06: 26-Nov-2004 * * Removed unused variable that would cause a warning message * on some systems. * **Version 4.05: 23-Nov-2004 * * Removed debugging code that could prevent correct setting of * $REAL_DOCUMENT_ROOT. * A failure to send an alert message with the "testalert" feature * now displays an error message. * Added support for sending mail using PEAR. * **Version 4.04: 20-Nov-2004 * * Disables "magic_quotes_runtime" setting, which breaks just about everything. * **Version 4.03: 14-Nov-2004 * * Added new mail_options setting "FromAddr". * You can specify an empty value or any email address. If this option is * used, the sender of form results will be set to the given address * instead of the value of the "email" field. This feature is necessary * for certain servers which don't let software specify an arbitrary * sender address. Yahoo is one such hosting service. * **Version 4.02: 28-Oct-2004 * * Improved to handle PHP sessions for browsers with cookies disabled. * This is primarily useful with Error Handling (including with our * FMBadHandler script). * **Version 4.01: 16-Oct-2004 * * Improved setting of $REAL_DOCUMENT_ROOT. This means the standard * filter setting for "encode" is more likely to work without change * on any server. * * Improved "testalert" feature to include some server variables in the * email. * **Version 4.00: 12-Oct-2004 ******* MAJOR UPGRADE ******* * * This new version provides new features that will be useful to * users of FormMailDecoder. * * Added support for "filter_fields" feature. Your forms can now * select which fields are to be filtered (encoded). All other * fields will be shown normally. The behaviour of this feature is * reasonably logical if you're also using the PlainTemplate and HTMLTemplate * features. However, if you are using them, we recommend that you * also specify the Attach feature in "filter_options". * * Added support for "filter_options" feature. Allows you to control * the way a filter operates. Currently, only the "Attach" feature is * provided: * Attach if specified, the output of the filter is attached * to the email instead of being inside the body of the * message. You must provide the name of the file. * Some examples: * Attach=ccard.fmencoded * Attach=data.txt * * See the HOW-TO guide on filtering for more information about these * new features (http://www.tectite.com/fmhowto/guides.php). * **Version 3.01: 22-Sep-2004 * * Workaround a problem in Microsoft IIS with uploaded files. * **Version 3.00: 2-Sep-2004 ******* MAJOR UPGRADE ******* * * Implemented the long-awaited Auto Responder feature! Requires * version 1.01 of "verifyimg.php". * * Improved the "Exclude" mail_option so that "realname" and "email" * special fields can be excluded from the body of the email. * * Added PlainTemplate mail_option feature. You can now create a template * that will be used for sending you a plain text email. You can use this, * for example, to put the data into CSV format. * **Version 2.17: 31-Aug-2004 * * When filling templates, values are now converted so that HTML * special characters in the values cannot break the HTML output. * * Alert messages now include the subject from the Form. Thanks * to Doug Wright for suggesting this. * * Added new "template_list_sep" hidden field. If you have list-type * fields in your form (checkboxes, multi-selection list boxes) and these * are expanded in a template, then FormMail uses "," to separate the values * by default. You can specify a different separator with the * template_list_sep hidden field. For example, * * will give you line breaks instead of comma. * * Added new mail_options setting "CharSet". Your form can specify the * character set to be used in emails with this option. For example, * * Thanks to Wojtek Linde for requesting this feature. * The default remains ISO-8859-1. * **Version 2.16: 18-Aug-2004 * * Added new "good_template" hidden field. This defines the template * to output (and fill) to the browser on successful submission. * * Added new "crm_options" hidden field to control processing * of CRM submissions. * * Added support for templates from URLs. This means you can use a * URL from $TEMPLATEURL instead of a file from $TEMPLATEDIR. This is great for * dynamically generated web pages. This adds a new configuration variable * called $TEMPLATEURL. * **Version 2.15: 4-Aug-2004 * * Fixed a bug in testing the PHP version - a couple of lines * were in the wrong order. This should stop "Undefined offset" * error form appearing in your php_errors file. * * Fixed bug in handling HTML + text emails with file attachments. * This bug was introduced after version 2.12. * * Improved MIME compliance with internal headers when BODY_LF is set * to something other than "\r\n". Improved to use the HEAD_CRLF * configuration variable. * **Version 2.14: 13-Jul-2004 * * Fixed problem with using sslencode filter. * Small redesign in the definition of filters for HTTP and HTTPs access so * that the FormMail Upgrade Wizard can be used to upgrade FormMail * to contain these new features. * **Version 2.13: 12-Jul-2004 * * Added support for executing filters via HTTP and HTTPS connections. * This overcomes the problem on some servers where even CGI-BIN programs * cannot be executed through PHP's "popen" or "system" functions. * **Version 2.12: 25-Jun-2004 * * Fixed bug in passing array variables to the bad_url via the session. * * Added new "SendMailFOption" option for "mail_options". This causes * FormMail to provide the "-faddr" option when it calls the "mail" function. * This is needed by certain sendmail server installations. * **Version 2.11: 23-Jun-2004 * * Improved further so that if no email address is provided the From line * is excluded (having a name only is not valid to RFC822). * Fixed some typos in comments. * **Version 2.10: 21-Jun-2004 * * Improved creation of email's From line - if neither the email * or realname is provided, no From line is included in the email. * **Version 2.09: 29-May-2004 * * Fixed bug: mail_options Exclude feature wouldn't allow a single field * name. * * Derived fields can now include arbitrary literal character using * this ASCII hexadecimal notation: %HH% where HH is two hexadecimal * characters: for example, 27 is a single quote, 2B is +, 2E is ., etc. * * Added simple check for internet spiders....no alert is sent. * * Added CONFIG_CHECK feature - currently checks for security * issues in TARGET_EMAIL patterns. * * Improved to destroy session data when no longer needed. * **Version 2.08: 23-May-2004 * * Fixed bug: wasn't handling 'ampm' in derived fields expansions. * * Added support for version check on servers that don't provide SERVER_NAME * (now uses a unique ID derived from $TARGET_EMAIL[0] instead of SERVER_NAME). * * Added optional SCRATCH_PAD configuration so that you can specify the * a directory that FormMail can write to on your server. * * Temporary files are now created in SCRATCH_PAD if it's configured. * * Alert messages are now filtered if a filter is specified (this is for * security purposes on the assumption that the filter is an encryption * program). * * Alert messages now use BODY_LF everywhere for line termination. * **Version 2.07: 13-May-2004 * * Fixed incorrect documentation for $CSVOPEN feature introduced * in v2.06. * * Added $CSVLINE configuration. Use this to customize your line * terminations in CSV files * **Version 2.06: 12-May-2004 * * Added $CSVOPEN configuration. Use this to ensure a text file * format for your operating system. * **Version 2.05: 11-May-2004 * * Added $CSVQUOTE configuration. This allows you to specify * the character used for quoting fields in a CSV file. If you don't * want quotes, you can set it to any empty string. * Quotes within fields in a CSV file are now swapped to the opposite * quote of that specified in $CSVQUOTE. * **Version 2.04: 10-May-2004 * * Passes some more information to the bad_url. This information is * used by fmbadhandler.php. * Template expansions now treat empty fields as missing. * Template expansions now put HTML BR tags where any new lines are found. * Some alerts provide more specific information * Added ALERT_ON_USER_ERROR configuration. * Switched off DEBUG mode that was accidentally left on. * The version check flag file now shows the server name. * The version check now works even if SERVER_NAME is not available. * **Version 2.03: 3-May-2004 * * Internal release - not generally available. * **Version 2.02: 1-May-2004 * * Fixed a problem that caused empty conditions to generate an alert message. * Since empty conditions are the default, that's an annoying problem! * Changed "Revision" to "Version" in this Version History. * **Version 2.01: 1-May-2004 * * Added support for creating date and time fields automatically. * Fixed some line formatting. * **Version 2.00: 1-May-2004 ******* MAJOR UPGRADE ******* * * Several sections re-written to improve consistency and logic checking. * * Default FILTERS now includes "fmencoder". * * Added support for "cc" and "bcc" addresses. This only have an * effect if "recipients" have also been specified. * * Added support for form checkboxes and multiple-selection lists * (thanks to Ted Boardman for getting us started on that). * * Added a lot more checking and reporting of errors or problems. * * Added a special test parameter to confirm that the DEF_ALERT setting * is working. The DEF_ALERT address is no longer subject to * verification through TARGET_EMAIL. You can now specify any address * for DEF_ALERT. ("alert_to" from a form is still tested against * TARGET_EMAIL). * * Added support for file uploads. Note, the form must specify: * enctype="multipart/form-data" method="post" * (this is a requirement of file uploading, not FormMail). * * Added support for "mail_options" field. This provides * extra control from the form. Options supported: * NoEmpty FormMail won't send results for fields that are empty. * KeepLines fields which contain lines (e.g. TEXTAREA's) keep the * lines; without this option (i.e. the default) FormMail * joins the lines together * AlwaysList don't format as an email even if there's only one * non-special field. If this option is set, the email is * always formatted like this: * name1: value1 * name2: value2 * DupHeader duplicate some header lines in the body of the email; * this was the default prior to Version 2.00. If you've * upgraded from 1.XX and you want your emails to look the * same, include this option. * StartLine include a --START-- line before the fields. This * option only works if you also specify BodyHeader. * If you've upgraded from 1.XX and you want your emails to * look the same, include this option. The --START-- line * is useful for some filter programs. * Exclude a list of fields to exclude from the email (special * fields cannot be excluded) * HTMLTemplate name of a template file to use to create an HTML * formatted email * PlainTemplate name of a template file to use to create an plain text * email * TemplateMissing string to insert for fields that are empty, * when filling an email template (HTMLTemplate or PlainTemplate) * CharSet the character set to specify in the Content-Type for * emails. Default is ISO-8859-1. * * CSV file support now provides configurable separators (see * $CSVSEP, $CSVINTSEP, and $CSVQUOTE). * * Improved list processing so that list items can whitespace * around them (e.g. ). * * Added support for derived fields. * * Errors are now distinguished between internal and user error. A user * error is, for example, failure to enter a field. Internal errors are * now shown as a generic message to the user (since the user can't do * anything about them). * * Generated pages are now XHTML compliant. * * Redirects now use several methods to perform the redirect: * Location header * JavaScript redirect * Text for the user: "please click here" * * All files that are opened are now subject to special processing to * prevent security breaches. * * All URLs that FormMail will open are now checked against the * TARGET_URLS setting (security feature). * * Added advanced tests in the "required" feature. * * Added complex field validations through the new "conditions" feature. * * Added new "bad_template" feature for customizing the error page. * * Improved "bad_url" handling - more error fields and data is now * send to "bad_url" so that it can redirect back to the original form. * * Added automatic regular check for new version of FormMail. * ****************************************************************************** * **Version 1.22: 11-Feb-2004 * Improved filter logic to handle options which might have slashes in them. * For example, a filter like "/path/to/fmencoder -k/path/to/keyfile.txt" * would not work (because the directory name was not evaluated correctly). * Added some more information when reporting filter failures. * **Version 1.21: 24-Jan-2004 * Fixed bug: required fields were not being checked if the form * was not sending email (e.g. if it was just writing to a CSV file). * Added alert messages for failure to open CSV and LOG files. * Improved some documentation and added some TARGET_EMAIL example lines. * **Version 1.19 & 1.20: 19-Jan-2004 * Added support for missing environment variables: if an environment variable * isn't in the environment, then FormMail looks in the server variables for it. * * Improved support for different server configurations; if SCRIPT_FILENAME * is not available, PATH_TRANSLATED is used; if one or more isn't available * no error message is produced (previous version displayed an error message * depending on the PHP configuration). * * Added configuration option for line termination in the email body. * * The FormMail version is now displayed in the default error page. * **Version 1.18: 13-Jan-2004 * Fixed a problem when mail sending failed; now, FormMail reports the error * to the user (by going to bad_url or generating the standard error page) * instead of showing success. * Added support for GET method of form submission (FormMail automatically * detects the method from the PHP Server variables). * **Version 1.16 & 1.17: 4-Jan-2004 & 5-Jan-2004 * Added support for PHP versions before 4.2.3 (i.e. from 4.0.0 onwards). * **Version 1.14 & 1.15: 3-Jan-2004 * Added some more comments. * **Version 1.13: 29-Dec-2003 * Added Quick Start section, some more samples, and some more comments. * **Version 1.12: 26-Sep-2003 * Replaced use of PATH_TRANSLATED with the more reliable SCRIPT_FILENAME. * **Version 1.10 & 1.11: 16-Sep-2003 * Added handling of magic_quotes_gpc setting. * **Version 1.9: 5-Sep-2003 * Added ex/vi initialisation string. * **Version 1.8: 9-Jul-2003 * Added a workaround for a PHP bug: http://bugs.php.net/bug.php?id=21311 * **Version 1.7: 19-May-2003 * If a form contains only one non-special field (a "special" field is * one of the pre-defined ones, like "email", "realname"), then formmail.php * formats the single field as the email to be sent. This feature allows * formmail.php to be used for a simple email interface. * Modified some wordings. * **Version 1.4: 13-May-2003 * First released version.