WebMailer Pro DBTM
version 1.2

TABLE OF CONTENTS

1. End-User License Agreement

2. What is WebMailer Pro DB?
	2.1	Definition and features
	2.2	How does WebMailer Pro DB work?

3. Installing WebMailer Pro DB
3.1	System Requirements
3.2	Running SETUP.EXE Installation Program
3.3	Choosing a Directory for Executable/Documentation
3.4	Choosing a Directory for Sample HTML Forms
3.5	Installing on Netscape Commerce/Enterprise Server
3.6	Installing on Microsoft IIS or PWS Web Servers
3.7	Installing on Other Web Server Software
3.8	Installing on a Remote Web Server

4. Using WebMailer Pro DB
4.1	An Overview of Forms
	4.2	WebMailer Pro DB Form Variables
	4.3	Simple Form Sample

5. Template Files
5.1	What are Templates?
5.2	Special Characters
	5.3	Creating Templates
	5.4	Using Templates
		5.4.1	E-mail Template Files
		5.4.2	Web Template Files
5.5	Advanced Templates
5.6	Template Example

6. Saving Form Results to a Database
	6.1 	General Information
	6.2 	Database Template Format
	6.3 	Description of [DATABASE] Section
6.4	Description of [TextFile] Section
6.5	Datatype Specifiers For Special Data

7. Saving Form Results to a Text File
	7.1 	General Information
7.2	Textfile Template Example
7.3	Textfile Template Explained
7.4	Process of Creating a Textfile Template
7.5	Other Information

8. Technical Support
	8.1	Common Problems (Quick Tips)
8.2	Contacting GeoCel International

APPENDICES
	Appendix A: Glossary of Terms
	Appendix B: WEBMLR.INI File
	Appendix C: Form Variables Available in CGI Environment

1. End-User License Agreement

WebMailer Pro DB Version 1.2

GEOCEL INTERNATIONAL, INC.
WEBMAILER PRO DB SOFTWARE
SOFTWARE LICENSE AGREEMENT

IMPORTANT: PLEASE READ THIS AGREEMENT CAREFULLY BEFORE CONTINUING WITH THE INSTALLATION PROCESS OF THE ACCOMPANYING SOFTWARE (the "Software").  BY CLICKING ON THE "OK" OR "ACCEPT" BUTTON, YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT.  IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, CLICK THE "DO NOT ACCEPT" BUTTON TO TERMINATE THE INSTALLATION PROCESS AND PROMPTLY RETURN THIS PACKAGE AND THE REST OF THE PRODUCT TO YOUR SUPPLIER FOR A REFUND ACCORDING TO THE TERMS OF THEIR REFUND POLICIES.

PART I: EVALUATION LICENSE:
1.  Evaluation License:  GeoCel International, Inc. (“GeoCel”) provides evaluation, or trial demo, versions of its software. GeoCel grants you a non-exclusive license to use the Evaluation Version of our Software free of charge for the purpose of evaluating whether you wish to purchase an ongoing license for the Software.  

2.   DISCLAIMER OF WARRANTY.  
THE SOFTWARE PROVIDED FOR EVALUATION AND THE DOCUMENTATION/ACCOMPANYING WRITTEN MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE ABOVE IS THE ONLY WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, THAT IS MADE BY GEOCEL, OR THE GEOCEL PRODUCT.  FURTHER, GEOCEL DOES NOT WARRANT, GUARANTEE, OR MAKE ANY REPRESENTATIONS REGARDING THE USE, OR THE RESULTS OF USE, OF THE SOFTWARE OR WRITTEN MATERIALS IN TERMS OF CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. THE ENTIRE RISK AS TO THE QUALITY, RESULTS AND PERFORMANCE OF THE SOFTWARE AND DOCUMENTATION IS ASSUMED BY YOU. IF THE SOFTWARE OR WRITTEN MATERIALS ARE DEFECTIVE, YOU, AND NOT GEOCEL OR ITS DEALERS, DISTRIBUTORS, AGENTS, OR EMPLOYEES, ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

3. WARNING.  The Software provided for evaluation purposes are fully functional but will become non-functional in that they are limited either by time or quantity of transactions allowed following initial installation onto your computer.  The specific limitations are noted upon installation.  GeoCel disclaims all liability and responsibility for any loss of data or other information which may occur as a result thereof.

PART II: TERMS APPLICABLE TO ALL LICENSES PAID:

1. License.  GeoCel International, Inc. ("GeoCel") grants you a non-exclusive right and license to use the accompanying computer software (the "Software") and the related documentation (the "Documentation") as set forth in this Agreement. 

This license distinguishes between ‘installation,’ ‘implementation,’ and ‘Web Site’. You may install and use the Software on a single computer or server.   In addition, this license allows you to implement the Software on one (1) web site.  Implementing means to execute the application which communicates between the computer server (and its CGI-bin directory) and a destination web site (see below for definition).

In general, a ‘Web Site’ is one home page with one or more supporting web pages that as a group serves a particular purpose, or provides information on a particular company, organization or product. A Web Site is often identified by a unique URL, or domain name.

The type of user regulates the number of licenses which must be purchased:
		
Type of User				Type of Implementation
Internet Service Providers (ISPs) /		
Internet Presence Providers (IPPs)		Client Web Sites

Internet Service Providers (ISPs) /		Company Web Site
Internet Presence Providers (IPPs)		(Non Client)
	
Non-ISP/IPP  (Ex. Corporate Intranet)	Company Web Site
					(Non Client)

Companies such as for Internet Service Providers and Internet Presence Providers (Hosting companies) that will implement the Software on client web sites, they must purchase a separate license for each web site that the Software will be implemented on. 

Companies that will implement the Software on a non-client web site such as (but not limited to) a corporate intranet or internal use, much purchase a separate license for:

1.	Each web site the software is implemented on, and
2.	Each ‘business unit’ that the software is implemented on per web site

Developers, Integrators and VAR’s that license and install the Software on behalf of a client must purchase a separate license for each client implementation of the Software as noted above.

Licenses may be purchased in ‘license packs,’ or groups of licenses. Pricing may be found at www.geocel.com, or by contacting GeoCel directly or any of its resellers or dealers.

You may make a single copy of the Software for backup and archival purposes only, provided that any copy must contain all proprietary notices included in the original. You may use the Documentation to assist in your use of the Software.  If you download the Software without physical delivery of Documentation, you may review the Documentation online, but you may not make further copies of the Documentation.  You own the media on which the Software is recorded, but not the Software itself or any copy of it.  This license is not a sale of the original or any copy of the Software.

2. Copying, Transferring or Modifying Software.  The Software contains
copyrighted material, trade secrets and other proprietary intellectual property.  You may not permit concurrent use of the Software.  You may not permit other individuals to use the Software except under the terms listed above.  You may not decompile, disassemble, reverse-engineer or otherwise display the Software in human-readable form.  You may not modify, translate, rent, lease, distribute or lend the Software, and you may not sell to others the right to use the Software on your computer.  You may not remove any proprietary notices or labels on the Software.  You may not copy, transfer, transmit, sublicense or assign this license or the Software except as expressly permitted in this Agreement.

3. Term.  This Agreement and license are effective from the time you accept the terms of this Agreement until this Agreement is terminated.  You may terminate this Agreement at any time by destroying all copies of the Software.  This Agreement will terminate immediately and without further notice if you fail to comply with any provision of this Agreement.  All obligations of confidentiality and restrictions on use will survive termination of this Agreement.  Upon termination, you agree to destroy all copies of the Software.

4. Limited Warranty. GeoCel warrants that the media on which the Software is furnished will be free from defects in materials and workmanship under normal use for thirty (30) days from the date you received the Software, as shown by your receipt.  This warranty is limited to you and is not transferable.  This warranty does not cover damage caused by improper use or neglect.  GeoCel’s entire liability and your exclusive remedy shall be, at GeoCel's option (i) to replace the defective media; (ii) to advise you how to achieve substantially the same functionality with the Software as described in the Documentation through a procedure different from that set forth in the Documentation; or (iii) to refund the license fee you paid for the Software.

THE SOFTWARE PROVIDED FOR EVALUATION AND THE DOCUMENTATION/ACCOMPANYING WRITTEN MATERIALS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE ABOVE IS THE ONLY WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, THAT IS MADE BY GEOCEL, OR THE GEOCEL PRODUCT.  FURTHER, GEOCEL DOES NOT WARRANT, GUARANTEE, OR MAKE ANY REPRESENTATIONS REGARDING THE USE, OR THE RESULTS OF USE, OF THE SOFTWARE OR WRITTEN MATERIALS IN TERMS OF CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. THE ENTIRE RISK AS TO THE QUALITY, RESULTS AND PERFORMANCE OF THE SOFTWARE AND DOCUMENTATION IS ASSUMED BY YOU. IF THE SOFTWARE OR WRITTEN MATERIALS ARE DEFECTIVE, YOU, AND NOT GEOCEL OR ITS DEALERS, DISTRIBUTORS, AGENTS, OR EMPLOYEES, ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

GeoCel does not warrant that the functions contained in the Software will meet your requirements or operate in the combination that you may select for use, that the operation of the Software will be uninterrupted or error free, or that defects in the Software will be corrected.  No oral or written statement by GeoCel or by a representative of  GeoCel shall create a warranty or increase the scope of this warranty.

GEOCEL DOES NOT WARRANT THE SOFTWARE AGAINST INFRINGEMENT OR THE LIKE WITH RESPECT TO ANY COPYRIGHT, PATENT, TRADE SECRET, TRADEMARK OR OTHER PROPRIETARY RIGHT OF ANY THIRD PARTY AND DOES NOT WARRANT THAT THE SOFTWARE DOES NOT INCLUDE ANY VIRUS, SOFTWARE ROUTINE OR OTHER SOFTWARE DESIGNATED TO PERMIT UNAUTHORIZED ACCESS; TO DISABLE, ERASE OR OTHERWISE HARM SOFTWARE, HARDWARE, OR DATA; OR TO PERFORM ANY OTHER SUCH ACTIONS.

Any warranties that by law survive the foregoing disclaimers shall
terminate ninety (90) days from the date you received the Software, as shown by your receipt.

5. Limitation of Liability.  YOUR SOLE REMEDIES AND GEO EL'S ENTIRE LIABILITY ARE SET FORTH ABOVE.  IN NO EVENT WILL GEOCEL OR ITS DISTRIBUTORS OR DEALERS BE LIABLE FOR DIRECT, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES RESULTING FROM THE USE OF THE SOFTWARE, THE INABILITY TO USE THE SOFTWARE, OR ANY DEFECT IN THE SOFTWARE, INCLUDING ANY LOST PROFITS, EVEN IF THEY HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

You agree that GeoCel and its distributors and dealers will not be liable for defense or indemnity with respect to any claim against you by any third party arising from your possession or use of the Software or the Documentation.

In no event will GeoCel's total liability to you for all damages, losses, and causes of action (whether in contract, tort, including negligence, or otherwise) exceed the amount you paid for this product. 

SOME STATES DO NOT ALLOW LIMITATIONS ON HOW LONG AN IMPLIED  WARRANTY LASTS, AND SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE  LIMITATIONS OR EXCLUSIONS MAY NOT APPLY TO YOU.  THIS WARRANTY  GIVES YOU SPECIFIC LEGAL RIGHTS AND YOU MAY ALSO HAVE OTHER RIGHTS WHICH VARY FROM STATE TO STATE. 

6. Export Control Laws.  You agree to comply with all laws, rules and regulations applicable to the export of the Software or the Documentation. Specifically, you shall not export, re-export or transship the Software or the Documentation, or the direct product thereof, in violation of any United States laws and regulations which may from time to time be applicable.  None of the Software or underlying information or technology may be downloaded or otherwise exported or reexported (i) into (or to a national or resident of) Cuba, Iran, Iraq, Libya, Serbia, Montenegro, North Korea, Syria or any other country to which the U.S. has embargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Denial Order.  By downloading or using the Software, you are agreeing to the foregoing and you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list.

7. High Risk Activities.  The Software is not fault-tolerant and is not designed, manufactured or intended for use or resale as control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of the Software could lead directly to death, personal injury, or serve physical or environmental damage. GeoCel and its suppliers specifically disclaim any express or implied warranty of fitness for any high risk uses listed above.

8. Governing Law and Interpretation.  This Agreement shall be interpreted under and governed by the laws of the State of Texas, without regard to its rules governing the conflict of laws.  If any provision of this Agreement is judicially determined to be invalid or unenforceable, in whole or in part, the remaining provisions shall nevertheless be binding and enforceable, and shall be enforced to the maximum permissible extent. 

9. Entire Agreement.  This Agreement is the complete agreement between GeoCel and you and supersedes all prior agreements, oral or written, with respect to the subject matter hereof.

If you have any questions concerning this Agreement, you may write to:
GeoCel International, Inc., 620 Congress, Suite 320, Austin, TX 78701.

Ver.  4/9/98

2. What Is WebMailer Pro DB?

2.1 What Is WebMailer Pro DB?
WebMailer Pro DB is a form-to-e-mail Common Gateway Interface (CGI ) application that processes HTML form data and sends it in a customizable format to a standard Internet e-mail account, as well as to an ODBC data source and plain text or HTML file.  Popular applications are guestbook forms and user feedback forms.

WebMailer Pro DB does not require any programming knowledge other than an understanding of basic HTML to quickly implement form generation and processing on a Web site.  WebMailer Pro DB supports queuing of failed messages and customization of all e-mail and Web pages displayed after the form has been submitted.

WebMailer Pro DB has the following key features:
•	Supports required fields that must be filled in by the user
•	E-mails HTML form results to you immediately after confirming that all required fields have been filled in
•	Supports multiple e-mail recipients
•	Ability to e-mail customized receipt / “thank you” messages to user
•	Customizable web page displayed on the user’s browser following processing
•	Optional redirection to another HTML page following processing
•	Supports message queuing in case of mail server errors
•	Easily customizable e-mail formatting  - allows you to customize the format or results of an e-mail based upon conditions that you set up.  

2.2 How does WebMailer Pro DB Work?
WebMailer Pro DB is a Common Gateway Interface (CGI) application that runs on your Web server.  Form data is sent to WebMailer Pro DB by the server software when the user submits the form, and WebMailer Pro DB returns any results to the web server, which displays them on the user’s browser.

Following is a more detailed general flow of WebMailer Pro DB operations.

1.   Your user connects to your Web Server and retrieves an HTML Form via standard HTTP (Hypertext Transfer Protocol) or SSL (Secured Sockets Layer).

2. 	The user fills out and submits the form which appears in their browser.

3. 	The user then "submits" the filled in form to the web server by pressing the Submit button.

4. 	Your Web server calls WebMailer Pro DB to process the form data just submitted by the user.

5. 	If required fields exist in the form, the system can send the user a customizable Incomplete Form Page explaining which required fields they did not fill out.

6. 	WebMailer Pro DB can be set to automatically e-mail the form contents to whomever is specified (this can be the sales dept., webmaster, etc.): 
•	Multiple recipients are allowed.
•	The message body contains a standard form dump of all form variables or a custom message created from a template file.

7.    WebMailer Pro DB can also e-mail a receipt to the user to acknowledge submission of data.
•	Multiple recipients are allowed.
•	The message body contains a standard form dump of all form variables or a custom message created from a template file.

8.    WebMailer Pro DB returns immediate results to the user’s browser.
•	This is a web page created on the fly by WebMailer Pro DB that lists form data sent, a web page created from a web template file, or the user can be redirected to another URL.

3. Installing WebMailer Pro DB

3.1 System Requirements
WebMailer Pro DB requires a Web server running on Windows 95 or NT 4.0 on the Intel platform.  This product has not yet been tested for compatibility with FX!32 translation software on the Alpha platform.

3.2 Running SETUP.EXE Installation Program

Disk installation
1.	Insert the diskette into the disk drive.
2.	From the Start Menu, choose Run…
3.	In the Run dialog box, type A:\SETUP.EXE and then click OK.  If A: is not your floppy drive, then replace A: with the appropriate drive letter.
4.	The installation program will ask if you want to unarchive WebMailer Pro DB, display the license agreement, and then guide you through the installation procedure.

3.3 Choosing a Directory for Executable/Documentation
The installation program will ask you to choose a directory for the executable and documentation.   The installation program will always create a directory named WMPRO in the directory you have selected. This is where the program itself (WMPRODB.EXE), configuration file, and template files will be installed.

3.4 Choosing a Directory for Sample HTML forms
You will need to select a directory for the included sample forms.  The installation program will always create a directory named SAMPLES in the directory you have selected.

You should choose a directory in your DOCS or WWWROOT tree, or other directory in which HTML pages are accessible through the web server.  Do not install the samples in a CGI-BIN or Scripts directory as you cannot typically access HTML files from these directories.

3.5 Installing on Netscape Commerce/Enterprise Server
For Netscape servers, you will need to ensure that CGI has been activated as a type on the server, or you will need to add the WMPRO directory to the list of CGI-BIN directories.  This is done through the web server administration program.

If you do not activate CGI as a type, then you must add the WMPRO directory to the CGI-BIN directories list because otherwise WebMailer Pro DB will not be recognized as a CGI by Netscape and will not run.

Activating CGI as a type means that any .EXE file in any accessible directory is assumed to be a CGI. If you do this, then you will not need to add the WMPRO directory to the CGI-BIN directories list.

However, we recommend that you add the WMPRO directory to the CGI-BIN directories list, in any case, and name the URL prefix “/WMPro”.  This will make it easier to use the included samples, as they refer to this directory.  Otherwise, you will need to modify the samples to the correct URL for WMPRODB.EXE.

3.6 Installing on Microsoft IIS or PWS Web Servers
The following apply to Microsoft Internet Information Server for Windows NT Server, Microsoft Peer Web Services for Windows NT Workstation, and Microsoft Peer Web Server for Windows 95.

You will need to create a virtual directory that points to the WMPRO directory.  If you are using IIS, this is done from the Internet Service Manager Manager, in the Directories Tab of the Web Service Properties.  If you are using PWS, run the Internet Services Administrator, and select the Directories Tab under the WWW Services page.

We recommend that you call this virtual directory /WMPro for compatibility with the included sample forms.  Be sure to grant this virtual directory Execute permissions from within the web server administration program.

Note that if even your WMPRO directory is located in your /Scripts directory, you will still need to create a virtual directory specifically for the WMPRO directory.  This is due to behavior by IIS and PWS that reports to WebMailer Pro DB that the current directory
is the /Scripts directory, instead of  /Scripts/WMPro.

Because WebMailer Pro DB looks for the configuration file in the current directory, the current directory reported must be the WMPRO directory.  Therefore it is always necessary, in any case, to create a virtual directory specifically for the WMPRO directory.

3.7 Installing on Other Server Software
In general, make sure that WebMailer Pro DB is installed in a directory from which the web server allows executables to be run.  How this is accomplished will vary on your web server.

3.8 Installing on a Remote Web Server
If you use the services of an Internet Service Provider (ISP) for your web site, then you will need to consult with your ISP for instructions on how they accommodate their users’ CGI programs.  How you upload the WebMailer Pro DB files will also depend on the ISP; usually you will need to use FTP (File Transfer Protocol) to upload HTML files and CGI programs.

You will need to upload WMPRODB.EXE and WEBMLR.INI (these files that are created in the WMPRO directory during local installation)  to the location your ISP provides for your CGI programs.  Depending on your ISP, this may be a central CGI-BIN or Scripts directory where all users’ CGI programs are stored, or it may be a local CGI-BIN or Scripts directory in the directory designated as the home directory for your site.

In any case, you will also need to replicate the entire GEOCEL directory structure and files that were created at installation underneath the WMPRO directory.  This is necessary WebMailer Pro DB expects template files to be found in GEOCEL\TEMPLATES beneath the directory where WMPRODB.EXE is located.

4. Using WebMailer Pro DB

4.1 An Overview of Forms
Using WebMailer Pro DB with HTML forms is very easy.  Using your favorite HTML editor, create a form as you normally would.  The form's action value will need to be set to reflect the directory where the program was installed.  For example, the form header might be:
	
	<FORM METHOD="POST" ACTION="/WMPro/WMPRODB.EXE">
	…
	</FORM>
Each of the settings in the previous section can then be included in most cases using the "HIDDEN" HTML input type.  The obvious exceptions would be the fields for the visitor's email address as well as the credit card fields which would be specified as the "TEXT" input type in this case.

Please refer to an HTML reference guide for more information about creating forms.

4.2 WebMailer Pro DB Form Variables
WebMailer Pro DB uses the contents of the actual form along with default settings from the WEBMLR.INI initialization file (please refer to Appendix B for a description of the entries in this file) to determine which actions to perform once the user has submitted the form.  To pass parameters to the program through a form, you will need to specify a 'NAME' and 'VALUE' for each form object. For example, to save a person's name you would use the following tag inside the '<FORM>' tags of your form.	

	<INPUT TYPE="TEXT" NAME="Last_Name" VALUE="">
<INPUT TYPE="HIDDEN" NAME="RECIPIENT" VALUE= "webmaster@abc.com"> 

Once the user submits the form, WebMailer Pro DB will return the value of the 'Last_Name' variable in an e-mail message to webmaster@abc.com.

	WebMailer Pro DB reserves certain values to control form processing.  By specifying the value of these variables, you can customize the behavior and output of the program. Most of these variables may be specified as the 'HIDDEN' input type .  Many of the variables can also be used to retrieve information from the user within the form.  In this case, the input type should be specified as "TEXT"  For example:

To set the receipt's subject field yourself so that it is always the same, you could use the following tag within the form:

	<INPUT TYPE="HIDDEN" NAME="RECEIPT_SUBJECT" VALUE="Your receipt">

To allow the user to enter this information, so that they can set the subject of the message which they will receive, the following tag should be used within the form:

	<INPUT TYPE="TEXT" NAME="SUBJECT" VALUE="">

Notice the difference in the input type.

The following is a list of keywords that the program will recognize:

Variable        						         Description                                                                                                                                           
Basic Keywords
DISABLE_MAIL	Informs the program that no e-mail messages should 
be generated for this form.

EMAIL			Sets the e-mail address to which the receipt will be 
delivered, as well as the address which will appear in the
"From:" field of the notification message which is sent to 
the user specified in 'RECIPIENT' (See below).

RECIPIENT (required)	Sets the e-mail address to which the notification message is to be delivered.

REQUIRED 			A list of the required fields to be filled out  in the form.  
The names in the list must match the 'NAME' values in the 
form.  If the user submits the form without the required fields, then he/she is informed that the entry is incomplete and the fields are missing.  A list of unfilled required fields can be generated and presented to the user through the use of templates (see below).

SUBJECT	Sets the text which will appear in the "Subject:" field of the notification message
Output Page Keywords
BGIMAGE			Sets the background image of the output page created on 
the fly by the program (if 'REDIRECT' is not specified) or of  any error pages sent to the user's browser.

BGCOLOR			Sets the background color of the output page created on 
the fly by the program (if 'REDIRECT' is not specified) or of  any error pages sent to the user's browser.

LINKBACK			Creates a link at the bottom of the output page created on 
the fly by the program (if 'REDIRECT' is not specified) or of 
any error pages.  This is the URL of the page that is linked 
back to.

LINKBACKTEXT		If 'LINKBACK' is specified, this text is displayed with 
the link.  If 'LINKBACKTEXT' is NOT specified, the 
default text "Back to site" will be used.

REDIRECT			Sets the absolute URL to which to redirect the user's 
browser after the program has finished processing the form.

REDIR_MISSING		Sets the absolute URL to which to redirect the user's 
browser after the program has determined the user has 
not filled in all of the fields set in the 'REQUIRED' field.

SORTORDER	Specifies which values from the form that you want to appear in the notification message sent to the user specified in 'RECIPIENT' as well as the order of those values.  If the sort order is not specified, then the form values are returned in random order. 

TEXTCOLOR			Sets the text color of the output page created on the fly by 
the program (if  'REDIRECT' is not specified) or of any error pages.

Receipt  Keywords
DO_RECEIPT	Return an e-mail receipt to the user who filled out the HTML form.  The message is sent to the address specified in the 'EMAIL' field.  If no template is specified using 'TEMPLATE_RECEIPT' it returns the form values sorted by the value in 'SORTORDER' if specified, or unsorted (random order).

RECEIPT_SUBJECT		Sets the "Subject:" line of the e-mail receipt.

RECEIPT_FROM		Sets the "From:" line of the e-mail receipt.

Template  Keywords

TEMPLATE_DATABASE	Specifies the template file that describes necessary configuration information for saving form results to an ODBC data source.  See Section 6 for details on the format of this file.

TEMPLATE_MAIL		Specifies the template to use for the e-mail message to 
be delivered to the address specified in the 'RECIPIENT' field.

TEMPLATE_MISSING	Specifies the name of a template to use for the web page returned to the user's browser after the program has determined that the user has not filled in all of the fields set in the 'REQUIRED' field.  This template can include conditional statements to list the actual missing fields.

TEMPLATE_RECEIPT	Specifies the name of a template to use for the e-mail 
message the user receives after successful completion of processing.

TEMPLATE_TEXTFILE	Specifies the template file that describes necessary configuration information for savings results to a plain text or HTML file.  See Section 7 for details on the format of this file.

TEMPLATE_WEB		Specifies the name of a template to use for the web page 
returned to the user's browser.

4.3 Simple Form Sample
The only required fields for WebMailer Pro DB to e-mail a simple form are the 'RECIPIENT' and 'EMAIL' fields.  If the 'RECIPIENT' is not specified, then the default address that was set during installation is used.  

Note the difference between 'EMAIL' and "RECIPIENT':  'EMAIL' specifies the e-mail address of the end user who filled out the form.  'RECIPIENT' specifies the e-mail address to which all form results are sent;  this is usually the address of the webmaster or other person who is collecting that particular form’s data.

Other fields may be included in the form depending upon the overall functionality you wish to incorporate into your site. Using just the basic variables, a simple guest book can be created.  An example guest book is included with the installation to demonstrate the use of basic form settings.  This example form was installed into a directory you chose for sample files during installation.  To use the form, open the file with any text or HTML editor and change the recipient field to your e-mail address. Each of the redirect fields will need to be modified as well to reflect the path on your web server where the samples were installed.  

The form asks for the name, e-mail, and comments of the guest.  Required fields are the name and e-mail.  Upon success, the guest's browser is redirected to a thank you page.  After modifying the RECIPIENT to contain your e-mail address, open a browser and type the following on the address line
	
	http://<your domain name>/<path>/Guestbk.htm

to try out the form. This example also illustrates the use of redirects to the user's browser and the fields that are required.  Experiment and make changes to the hidden form values to observe their changes on the form processing and output.  Try out different options with this form until you feel comfortable passing values and settings to the program.  

5. Templates

5.1 What are Templates?
A template is a file that WebMailer Pro DB uses to build custom e-mail and web pages from the data that the user submits in the form.  These pages can be used to provide customized responses to form input.  Templates are stored in a subdirectory named GEOCEL\TEMPLATES beneath the directory where the executable file is located.  If you wish to specify another directory as the root directory for templates, refer to Appendix B for making this change in the WEBMLR.INI file.

5.2 Special Characters used in Templates
WebMailer Pro DB uses a very simple template language that reserves a few special characters to signify form and environment values.

% (percent sign)
The percent sign is used to replace HTML Form variables  (INPUT fields) with the text or number that they represent.

Syntax:		%variable_name%
Sample:		%name%
Output:		John Doe

^ (carat or power sign)
The carat sign is used to enclose HTTP Session and System Environment Variables with the information that they represent. For a listing of all the available environment variables, please refer to Appendix C.

Syntax:		^variable_name^
Sample:		^REMOTE_HOST^
			^PATH^
Output:		ppp207.ppp.isp.net
		C:\WINNT;C:\WINNT\SYSTEM32;C:\MSSQL\BINN;

; (semicolon)
The semicolon is used to denote a comment in a template file.  Text after a semi-colon will be ignored by the program until the end of a line is reached.

Syntax:		;comment
Sample:		This is a ; test
Output:		This is a

* (asterisk)
The asterisk is used to indicate that a file should be attached at the end of the message.  Useful only in e-mail templates, you can specify that a certain file be 
attached to any message.

Syntax:		*<file path>*
Sample:		*c:\products\gadget.exe*
Output:		Mime attachment to the message.

+( plus sign )
The plus sign is used to include the contents of another template in the current file. 

Syntax:		+ <Template file name> +
Sample:		+ header_template.txt +
Output:		The contents of the header_template.txt file.

Displaying Reserved Characters as Text
In order to display any of the reserved characters as actual text to display, "escape" them with a '\' (backslash) character as is done C and Perl.:

	Syntax:		\special character
	Sample:		x \+ y
	Output:		x + y

NOTE: If the '+' sign in the above sample is placed in the template WITHOUT the backslash, the system will assume the special use of the '+', and an error will occur.

5.3 Creating Templates
Creating templates can be accomplished using any standard text editor such as Notepad.  After the template is created, it needs to be saved in the templates directory;  unless you have specified a different directory by modifying the WEBMLR.INI file (see Appendix B), this is the subdirectory GEOCEL\TEMPLATES below the directory where the WebMailer Pro DB executable file is located.  Any file extension can be used as long as the file name specified in the HTML form matches the name of the template.

5.4 Using Templates
In order to use the new template, you will need to pass the name of the template file to WebMailer Pro DB through a hidden input type form field within an HTML form.  WebMailer Pro DB will parse the template file substituting form values for variables and return the complete page.  Examples of each type of template follow:

5.4.1 E-Mail Templates
E-Mail Templates can be used for the return receipts sent to users that fill out your form or to the recipients of the e-mail message. For example, a simple form for a feedback page would be:
	.....
	<FORM ACTION="/WMPro/WMPRODB.EXE" METHOD=POST>
   First Name:	<INPUT TYPE="TEXT" NAME="First_Name"> <BR>
   Last Name:	<INPUT TYPE="TEXT" NAME="Last_Name">  <BR>
   E-mail:		<INPUT TYPE="TEXT" NAME="EMAIL">      <BR>
   Comments:   <TEXTAREA COLS=60 NAME="Comments" WRAP=SOFT> </TEXTAREA>
         <INPUT TYPE="HIDDEN" NAME="RECIPIENT" VALUE="mikey@life.com">
         <INPUT TYPE="HIDDEN" NAME="TEMPLATE_MAIL" VALUE="email.txt">
   <INPUT TYPE=SUBMIT>
	</FORM>
	......
If the user submits:

	First_Name 	= 	"John"
	Last_Name 	= 	"Doe"
	Email	 	= 	"johnd@anon.com"
	Comments	=	"I really like your site!!"

And the template "email.txt"  is:

	....
	Mike, this is your web server talking to you… 

%First_Name% %Last_Name% from ^REMOTE_HOST^ visited the site.

Comments:
		%Comments%

	He or she can be reached at %Email%.

	Have a nice day!
	....

Then the form values would be translated to an e-mail message similar to this:

	…
	Mike, this is your web server talking to you… 

	John Doe from ppp207.ppp.isp.net visited the site.
	
	Comments:
			I really like your site!!

	He or she can be reached at johnd@anon.com

	Have a nice day!
	…

Creating e-mail Receipts for visitors is very easy as well.  First, you will need to include a hidden form field specifying that you wish to return a receipt.  Then you will need to setup the name of a template to use for the receipt as shown below:
…
	<INPUT TYPE="HIDDEN" NAME= "DO_RECEIPT" VALUE="On">
	<INPUT TYPE="HIDDEN" NAME= "RECEIPT_SUBJECT" VALUE="Thank you">
	<INPUT TYPE="HIDDEN" NAME= "RECEIPT_FROM" VALUE="mikey@life.com">
<INPUT TYPE="HIDDEN" NAME= "TEMPLATE_RECEIPT" VALUE="receipt.txt">
…

A formatted receipt will then be sent to the visitor using the receipt.txt file.  Any template file specified in the form must reside in the templates directory.

5.4.2 Web Templates
Web templates are basically the same as e-mail templates except that the template file includes HTML formatting codes in addition to the control characters.  The control characters do not conflict with HTML so you can preview the layout of the file with any browser. First, specify the values in the form as follows:

…
	<INPUT TYPE="HIDDEN" NAME= "DO_RECEIPT" VALUE="On">
	<INPUT TYPE="HIDDEN" NAME= "RECEIPT_SUBJECT" VALUE="Thank you">
	<INPUT TYPE="HIDDEN" NAME= "RECEIPT_FROM" VALUE="mikey@life.com">
<INPUT TYPE="HIDDEN" NAME= "TEMPLATE_WEB" VALUE="response.htm">
…

If the user submits:

	First_Name 	= 	"John"
	Last_Name 	= 	"Doe"
	Email	 	= 	"johnd@anon.com"
	Comments	=	"I really like your site!!"

and the template "response.htm" is:

<HTML>
	<HEAD><TITLE>Thanks for visiting!</TITLE></HEAD>
	<BODY>
	<P>
	Thank you, <B>%First_Name% %Last_Name%</B> for your input.  Your comments are important to us.<BR>
	<BR>
	A follow-up e-mail has been sent to you at %email%.
	<BR>
	<P>
	Sincerely,<BR>
	Mike Smith
	</BODY>
	</HTML>

Then the user would see the following displayed in their web browser:

	Thank you, John Doe for your input.  Your comments are important to us.
	
	A follow-up e-mail has been sent to you at johnd@anon.com.	

	Sincerely,
	Mike Smith

 If visitors fail to fill in all of the required form fields, a web template can be used for this page.  A hidden field will need to be added setting the "TEMPLATE_MISSING" to the name of the template.

5.5 Advanced Template Language
Currently,  WebMailer Pro DB's Template Language supports one advanced feature: conditional expressions.  Using conditional expressions, you can tailor the response that is returned based on the user's input.   WebMailer Pro DB supports the following types of conditional expressions:

	A  =   B		A equal to B
	A  <>  B 		A not equal to B
	A  >   B		A greater than B
	A  <   B		A less than B

To use a conditional expression in WebMailer Pro DB, insert a conditional  block in the appropriate template file as follows:

	[ <conditional expression> ]
{ <expression(s) to display if the condition is met> }

Conditional blocks can be nested..  The statements inside of a conditional block behave the same as expressions outside the block.  Variables inside of the square brackets for the conditional expression should not be delimited by '%' signs.  

Lets take an example to illustrate the use of conditionals:

On your Web Site, you sell mailing lists.  When a user on your site decides they want to purchase a mailing list from you, you can offer several means of delivery.  So, in this example, you're offering delivery via e-mail, fax, or U.S. Postal mail.  Depending upon which type of delivery the person chooses, you want to provide them with a customized receipt. The relevant form values for this example would be:
…
<SELECT NAME="delivery_type" SIZE=1>
<OPTION VALUE="email"> E-mail
<OPTION VALUE="fax"> Fax
<OPTION VALUE="postal"> Regular Mail
</SELECT>
	<INPUT TYPE="HIDDEN" NAME="DO_RECEIPT" VALUE="On">
	<INPUT TYPE="HIDDEN" NAME="RECEIPT_SUBJECT" VALUE="Thank you">
	<INPUT TYPE="HIDDEN" NAME="RECEIPT_FROM" VALUE="joes@abc.com">
<INPUT TYPE="HIDDEN" NAME="TEMPLATE_RECEIPT" VALUE="receipt.txt">
…
The following segment of template code could be used in the e-mail receipt template:

Thank you for your interest in our Mailing Lists.  The mailing list you purchased will be delivered within 5 working days to:

[ delivery_type = "email" ] { %email%	} ; chose email
[ delivery_type = "fax" ] { %fax_number% }  ; chose fax
	[ delivery_type = "postal" ]			  ; chose USPS
{
	%name%
	%address%
	%city%, %state%  %zip%
}

Note that form variable names are not enclosed with '%' characters inside of the conditional square brackets. If the condition inside the square brackets ([]) is not met then no text will be output.

For example, if the visitor chooses regular US Postal mail as the delivery type, then the output would be:

Thank you for your interest in our Mailing Lists.  The mailing list you purchased will be delivered within 5 working days to:

	Bill E. Simms
	2 Elm St.
	Due West, SC  32083

6. Saving Form Information to a Database

6.1 General Information

WebMailer Pro DB supports writing HTML Form results to almost any database using the server’s ODBC (Open Database Connectivity) drivers. By default, drivers are provided for Microsoft Access, Microsoft Excel, CSV Text files, and Microsoft SQL Server.  If you have another database type, and you cannot find a compatible ODBC driver in the Control Panel under ODBC, contact your database vendor for their latest version.

In order to save the results of your forms to a database, you will need to specify a Database Template for each form on which you wish to enable this feature.  A Database Template should be stored with the other templates used to process a specific form.  The Database Template is the file that defines the Table and Database to which to write, and associates Columns (fields) in the database with HTML Form variables.

In order to use WebMailer Pro DB with ODBC, an ODBC Data Source must be created for the database that is to be used.  When creating the ODBC Data Source Name (DSN), be sure that it is created as a System DSN instead of a User DSN.  User DSNs are only available in the context of the user logged into the system.  Since the Web Server usually runs as a different user (except on Windows 95), you must create it as a ‘System Wide’ resource in order to use it.

WebMailer Pro DB writes to a database only when the Database Template is specified as an HTML Form variable named TEMPLATE_DATABASE.

Notes:
Tables and Field Names used with WebMailer Pro DB cannot include spaces.  Most databases do not allow spaces in names, however Microsoft Access does.  The underscore ‘_’ character is usually a suitable replacement.

6.2 Database Template Format

Below is an example of a Database Template file.  There are two parts; the first is named [DATABASE].  [DATABASE] is a keyword that lets WebMailer Pro DB know this is a valid Database Template.  The second section is named after the TABLE value specified in the [DATABASE] section.  In this example, TABLE = TheTable; thus, the second section is named [TheTable].  Be sure to leave one blank line between sections.

[DATABASE]
DSN = GEOCEL
USER = username
PASSWORD = password
TABLE = TheTable

[TheTable]
FIELDS = NAME, EMAIL, CITY, STATE, ZIP
NAME = FULL_NAME
EMAIL = EMAIL_ADDRESS
CITY = CITY
STATE = STATE
ZIP = ZIPCODE

6.3 Description of [DATABASE] Section

DSN – ODBC Data Source as it is named in the System DSN section of the ODBC Administrator.  

USER – Not always necessary, but is needed if your Database requires you to log in with a Username or Username and Password.

PASSWORD – This option is to be used when you need a Username and Password to log into the Database specified by the DSN.

TABLE – The Database Table into which data is to be inserted.  Some Databases allow insertions into Queries and Views, however, you’ll need to refer to your specific Database documentation to verify this feature and/or determine any limitations.

6.4 Description of [TABLE] Section

FIELDS – Comma separated list of all Database Fields (Columns) into which data is to be inserted.  These must of course be valid fields for the Table specified.

Other Settings – These settings associate HTML Form variables to Database Fields listed in the FIELDS setting above.  This will map each Field to a HTML Form variable.  EMAIL=EMAIL_INPUT would insert the contents of the HTML Form variable EMAIL_INPUT into the field named EMAIL in the specified table.

Notes: AutoNumber or Identity type fields should generally not be mapped to a Form Variable.  Empty Fields result in an Empty String being inserted, instead of a NULL value.  Some database engines may interpret this as a NULL, especially for Numeric and Date types.
6.5 Datatype Specifiers for special Datatypes

Some databases will require data-type specifiers for certain data types.  The default data type is a character string.  Some database engines (and/or their counterpart ODBC drivers) need the proper datatype defined before the data is inserted into the database.

To specify a datatype for a particular column, in the [Table]  section of the Database Template, append “_DATATYPE” to the name of the field and add it as another entry.  Set the value to the appropriate datatype as specified in the table below:

ODBC Data Types Defined
ODBC Datatype Name	Value	Sample Data	Example Usage	
SQL_CHAR	1	Mary had a little lamb.	Character data	
SQL_NUMERIC	2	1	Numeric data	
SQL_DECIMAL	3	1.1	Decimal data	
SQL_INTEGER	4	1	Integer data	
SQL_SMALLINT	5	15	Medium integers (16 bit)	
SQL_FLOAT	6	12345.67	Decimal data	
SQL_REAL	7	12345.67	Decimal data	
SQL_DOUBLE	8	12345.67	Decimal data	
SQL_DATE	9	06/13/97	Date	
SQL_TIME / SQL_INTERVAL	10	03:15PM / 15:15	Time	
SQL_TIMESTAMP	11	06/13/97 15:15:30	Data / Time	
SQL_LONGVARCHAR	-1	This can be a very long string.	Memo / Text > 255 chars	
SQL_BINARY	-2	0x382B313D	Binary data	
SQL_VARBINARY	-3	0x321382B32	Binary data	
SQL_LONGVARBINARY	-4	0x321382B32	Binary data > 255 chars	
SQL_BIGINT	-5	320000	Large integers (32 bit)	
SQL_TINYINT	-6	15	Small integers (8 bit)	
SQL_BIT	-7	1 or 0 (0 or –1 in MS Access)	Yes / No / Flags	

In the following example, assume the DESCRIPTION field is defined as a Memo field in a Microsoft Access database.  Because the ODBC driver for Microsoft Access only accepts 255 characters in a character string more than that cannot be added with specifying the datatype.  In this configuration, a very long string (possibly something entered into a <TEXTAREA> field) can be inserted into this database.

[TheTable]
FIELDS = NAME, EMAIL, DESCRIPTION
NAME = FORM_NAME
EMAIL = FORM_EMAIL
DESCRIPTION = FORM_DESCRIPTION
DESCRIPTION_DATATYPE = -1

7. Saving Results to a Text File

7.1 General Information

HTML Form results can also be saved to a plain text or HTML file.  This feature can be used to create a file that can be easily imported into a database or spreadsheet.  It can also be used to create a growing text or HTML file, which can be displayed anywhere in a web site.  For example, it is possible to display users who have filled out a guestbook or comment form.  Because this is a text file, it is simple to create any type of text based formatting.

Note: Text templates consist of up to 6 files.  First, the Textfile Template specifies  names for all of the other templates which are to be used.  The other files should be in the same directory as the Textfile Template.  Below is an example of a Textfile Template, and a simple description of the other files:

7.2 Textfile Template Example

Below are the contents of a sample Textfile Template:

[TEMPLATES]
HEADER = header.txt
DETAIL = detail.txt
FOOTER = footer.txt
WORKFILE = workfile.txt
DESTINATION = destination.txt

7.3 Textfile Template Explained

HEADER – The header is a file containing any text to be used as a Header in the final or destination text file.

DETAIL – The detail file is a template file that specifies the format of the data that is repeated for every record written to the final or destination text file.  You may use any of the template syntax described in Section 5.

FOOTER – The footer is a file containing any text to be used as a Footer in the final or destination text file.

WORKFILE – If a HEADER and/or FOOTER exist, then it is necessary to specify a WORKFILE.  The workfile  holds the details of all prior submissions.  This file, and the contents of this file will be automatically generated by WebMailer Pro DB.  If any information needs to be changed or removed from the destination or final file, it is best to edit this file to change the information.

DESTINATION – The destination is the text file which should be properly formatted with an optional header and footer and all detail information.  This file can be edited directly if no HEADER and FOOTER are being used.  Otherwise, edit the WORKFILE because the DESTINATION is overwritten with each HTML Form submission.

	<HEADER>  
WORKFILE	  DESTINATION
<FOOTER>

7.4 Process of Creating a Textfile Template

For example, to create an HTML guestbook for people to sign:

Step 1:	Create your HTML Form and add a TEMPLATE_TEXTFILE variable set to the name of the Textfile Template you wish to use.

Step 2:	Create a Textfile Template:

[TEMPLATES]
HEADER = HTMLHEAD.TXT
DETAIL = HTMLDETAIL.TXT
FOOTER = HTMLFOOT.TXT
WORKFILE  = HTMLWORK.TXT
DESTINATION = C:\WEB_SERVER\DOCS\GUESTBOOK.HTM

Step 3: 	Create the Header file:

<HTML>
<HEAD>
<TITLE>My Guestbook!</TITLE>
</HEAD>
<BODY>
<TABLE>

Step 4: 	Create the Detail file:

<TR>
<TD>%Name%</TD>
<TD><A HREF=”mailto:%EMAIL%”>%EMAIL%</A></TD>
</TR>

Step 5: 	Create a Footer file (Be sure to close anything opened in the header):

</TABLE>
</BODY>
</HTML>

Now, submit the form and after one submission there should exist a file called GUESTBOOK.HTM in its appropriate directory.  

If any problems come up, the Log file generally will report missing files, etc…

7.5 Other Information

If no workfile is specified, then WebMailer Pro DB can still process textfiles.  Generally, with a workfile specified, the workfile is appended each time an entry is added.  Then the Header and Footer are added to the workfile to make the final file.  If any information needs to be removed from the destination file, it is best to remove the information from the workfile since the destination file is overwritten with each new entry.

8. Technical Support

8.1 Common Problems (Quick Tips)

When testing CGI  programs (such as WebMailer Pro DB), you must actually be accessing your files through a Web Server.
This is because CGI (Common Gateway Interface) is an interface between a Web Server and a separate program (e.g., WebMailer Pro DB).  Without having a Web Server involved, strange things will happen in your browser.  To determine if you are browsing over a Web Server, look at your Address line.  It should begin with http://address… or https://address….  It should not begin with a drive letter or file://….

The directory WebMailer Pro DB is in must have Execute access. 
WebMailer Pro DB is usually installed into the CGI-BIN or Scripts directory of your Web Server.  If you choose to place it elsewhere, you will need to make sure that directory has Execute access on your Web Server.  You can check this on the Directory tab on IIS or the Content Management section of the Netscape Administration Server.

Control characters in templates must match up in pairs.
In templates,  if control characters are not in matched pairs (except for the comment character) , then the template will not output correctly.  To use any of the control characters in a template without a matching terminating character, you will need to escape the character.  For example, the following tag would cause an error:

	<BODY BGCOLOR="#FFFFFF">

To correctly display the tag, 'escape' the pound sign.

	<BODY BGCOLOR="\#FFFFFF">

8.2 Contacting GeoCel International
If you have any questions about this program, you can receive free support via email at:

support@geocel.com

Technical support questions are usually answered within 24 hours.  Please be specific and include web server and version, and all relevant code (HTML pages, templates).   Support can also be obtained over the web at:

http://www.geocel.com/techform.html

If  the problem cannot be resolved via email, you may contact technical support at 
(512) 485-7550.

Thank you for purchasing WebMailer Pro DB.

Appendix A: Glossary of Terms 

CGI: Common Gateway Interface.  This interface allows a web server to communicate with an executable program running on the same computer.  Typically, it is used to pass information for further processing and delivery, and to accept information for display in the user's web browser.

CGI-BIN: This is the directory in which all CGI executables typically reside.  The directory is created when you install your web server, and may be called by another name.

E-mail: Electronic Mail.  A standard allowing users on various computers connected to a network to send messages to each other.  Some implementations of e-mail allow for attachments to send images, or other non-plain text files.

HTML: HyperText Markup Language.  This is the "language" of the World Wide Web used to compose web pages allowing for navigation (i.e., links), limited layout control and font control, image integration, as well as other more advanced functions.

HTTP: HyperText Transfer Protocol.  A standard network communications protocol web servers and web browsers to use "talk" to each other.

Internet: A huge network connecting computers all over the world allowing them to communicate with each other.  E-mail and the World Wide Web are just two of the many services that use the Internet as their transportation medium.

URL: Universal Resource Locator.  This is a generic term for any item that can be retrieved over the Internet.  It can be a World Wide Web page, and FTP file archive, a newsgroup, a gopher database page, etc.

Variables: These are "place holders" used in programs or templates.  They can be used to hold values that can be assigned at any time, and then displayed as the user desires.

Web Browser: A program that acts as a client to a web server.  It is the "Window" into the World Wide Web.  It requests pages from a web server using the HTTP protocol.

Web Server: A program that communicates with a web browser, and "serves" pages requested of it over the Internet using the HTTP protocol to web browsers requesting those pages.

World Wide Web: The combination of web servers and web browsers running over the Internet.  

Appendix B: WEBMLR.INI File

	The program uses a small initialization file to store constant values that will be needed every time the program is called.  This file is named WEBMLR.INI and is located in the same directory where the executable is located. To modify any settings, open the file with a text editor and make any necessary changes.  A sample configuration after a typical installation is below:

[WebMailer]
SMTP=mail.geocel.com
DefaultRecipient=webmaster@geocel.com
Referers=www.geocel.com,www.altonline.com

Variables

SMTP
Default: Installation Option
Usage: Required
Description:
Specifies the hostname of the SMTP Mail Server.  This is a Setup option, and only needs to be modified if the name of the server changes, or if it is necessary to use a different mail server.

Referers
Default: Not Added to INI
Usage: Highly Recommended
Description:
Specifies which web sites can point to your WebMailer Pro DB executable.  Typically, you will put only your site’s address (e.g., www.mydomain.com) in this string;  this prevents unauthorized users from using your site to process forms without your permission.  You can grant multiple web sites permission by specifying multiple referers in this string, as in the example .INI file above.

Note:  If you do not have a Referers string, then all accesses from any sites are allowed.

DefaultRecipient
Default: Installation Option
Usage: Recommended
Description:
Sets the default e-mail address for form processing.  If this value is present, then the 'RECIPIENT' field will not have to be specified in the form.

TEMPLATE_DIR
Default: Not added by installation
Usage: Not Recommended
Description:
Specifies the directory that WebMailer Pro DB looks for templates.  Before changing this, have a good understanding of Windows NT file permissions;  the User Context that the server is running under must have read access to this directory.  Unless this setting is present, WebMailer Pro DB will assume templates are in a subdirectory GEOCEL\TEMPLATES beneath the directory where the executable is located.

TEMP
Default: Not added by installation
Usage: Not Recommended
Description:
Specifies the directory that WebMailer Pro DB uses to create any temporary files needed for processing.  By default, WebMailer Pro DB will create temporary files in the directory where the program itself, WMPRODB.EXE, exists.  If you need to change this for any reason, set this variable to another directory that has unrestricted write access.

Appendix C:
 Form Variables Available in CGI Environment

HTTP_AUTHORIZATION	IIS 1.0 ONLY :Returns the type of authorization used. 
AUTH_TYPE			IIS 2.0 ONLY : Returns the type of authorization used. 
HTTP_CONNECTION		Returns the type of connection established 
CONTENT_LENGTH		Returns the number of bytes expected from the client
CONTENT_TYPE	 	Returns the content type from the body of a POST request. 
GATEWAY_INTERFACE	Returns CGI specifications the server uses. 
HTTP_ACCEPT			Returns special-case header values 
LOGON_USER			IIS 2.0 ONLY : Returns Windows NT account 
PATH_INFO			Returns trailing part of the URL after the script name. 
PATH_TRANSLATED		Returns full path of script name. 
HTTP_PRAGMA		ONLY in IIS 2.0 

QUERY_STRING		Returns query string. 

HTTP_REFERER		Returns the URL of the requesting HTM. 
REMOTE_ADDR		Returns the clients IP address. 
REMOTE_HOST		Returns the client hostname 
REMOTE_USER			 Returns the authenticated client name. 

REQUEST_METHOD		Returns the HTTP request method 

SCRIPT_NAME			Returns the name of the script program being executed 
SERVER_NAME		Returns the servers hostname or IP address. 
SERVER_PORT			Returns the TCP/IP port used. 
SERVER_PROTOCOL		Returns name and version of information retrieving protocol 
SERVER_SOFTWARE		Returns the name and version of the Web Server Software 
HTTP_USER_AGENT		Returns the name of the browser.