HTTP/1.0 200 OK header is required by some web servers.
cookmail.exe | regular version which sends HTTP/1.0 200 OK header before the CGI header |
cookmail-lite.exe | lite version sends the HTTP/1.0 200 OK header |
cook.exe | regular version sends CGI header only |
cook-lite.exe | lite version sends CGI header only |
cookmail-l list for the latest update on CookMail.
CC and MIME feature
gcc or cc).
makegcc installed, please change
CC=ccCC=gccmake.make LITE=-DLITEcookmail to your CGI script directory.ln -s /tmp tmp.html index.htm index.html default.htm or default.html in this directory. One such command is:touch /tmp/.html
/tmp/owebm*.html daily.
README file of cookmail.zip:
blat15i.zip. This is a program by Mark Neal and Pedro Mendes. Follow the instructions in README file of blat15i.zip to install COOKBLAT.EXE. However, do not use BLAT.EXE in blat15i.zip because it has some bugs. Use COOKBLAT.EXE I provided instead. It is very important to copy COOKBLAT.EXE to either C:\WINNT or C:\WINNT\COMMAND32. Otherwise, CookMail may have trouble finding and running this program. Windows 9x users just need to copy it to somewhere specified in PATH.
cookmail.exe to a CGI directory. Starting from version 2.13c, there are four versions of CookMail for NT on intel.
cookmail.exe | regular version which sends HTTP/1.0 200 OK header before the CGI header |
cookmail-lite.exe | lite version sends the HTTP/1.0 200 OK header |
cook.exe | regular version sends CGI header only |
cook-lite.exe | lite version sends CGI header only |
If you installed a LITE version, jump to the last step.
C:\TEMP exists. In your web server, create a virtual directory /tmp which is an alias of C:\TEMP.
C:\TEMP\owebm*.html daily.
<FORM METHOD=POST ACTION=/cgi-bin/cookmail>where
/cgi-bin/ is the directory name CookMail installed in. Note, the above only works if your CookMail program is on Unix. On NT, you will need to use:
<FORM METHOD=POST ACTION=/cgi-bin/cookmail.exe>To be able to go back to the page that spawned email form in the output, add the following after the form tag:
<!--#exec cgi="/cgi-bin/cookmail" -->*NOTE* Above will only work if your web server allows server-side execute. This is useful in determining where a visitor enter the form page from.
TO:
<INPUT TYPE=HIDDEN NAME=TO VALUE="cookmail@ag.arizona.edu">Although you can incorperate the
TO in other ways such as multiple selection, TO field is absolutely required. CookMail also have some other predefined input field names which should not be mis-used. Other than those, you can make up any names containing any characters except '='. Field names such as "What's is your nationality?" are very useful in default field name handling of CookMail.
Examples: -> Use the Go Back link to come back to this page
CC and MIME feature
To control the format of email messages, including the following tag within the form:
<INPUT TYPE=HIDDEN NAME=FORM VALUE=/complete-path/email.form>Similiarly, to control the output, include the following tag:
<INPUT TYPE=HIDDEN NAME=SHOW VALUE=/complete-path/email.show>The filenames don't have to be
email.form and email.show. The format of SHOW and FORM files are the same as the normal HTML documents and email messages, respectively, except that cookmail recognizes ${field_name} and replaces them with corresponding field texts. For instance: ${TO} corresponds to the email address of the recipient. If there are quite a few field names and only some of them are included in the control files, the rest can be displayed using ${ETC}. ${ETC}, however, will not format the fields passed by httpd and the predefined input names.HTTP_REFERER can also be recognized by cookmail. In this case, the format would be ${HTTP_REFERER}. Please consult www.w3.org for a complete list of available environmental variables to CGI scripts.
Examples: -> Use the Go Back link to come back to this page
| Name | Version | Meaning/Value |
| Absolutely Required | ||
TO
| 1.0 | the email address of the recipient. -Must Have |
|---|---|---|
| Default Input Field Handling | ||
NAME
| 1.0 | the name of the email sender |
EMAIL
| 1.0 | the email address of the sender |
SUBJECT
| 1.0 | the email subject |
MESSAGE
| 1.0 | the main message body. |
CC
| 2.1 | carbon copy (Cc: ) email message back to viewer.
|
MIME
| 2.1 | send email message with MIME support
|
| Configuration | ||
EMPTYHANDLE
| 1.5 | blank field handling. The following are the valid values and their meanings.
IGNORE.
|
MULTIPLE
| 1.6 | manual concatenation of the strings of the same field across the form.
|
MULTIPLEMARK
| 1.5 | string separates multiple selections Default value is ', ' without quotes. |
Advanced Features | ||
| Output format control files | ||
REDIRECT
| 1.0 | displaying another HTML document as the result |
SHOW
| 1.0 | result display control file |
FORM
| 1.0 | email format control file |
CCFORM
| 2.1 | carbon copy email format control file |
EMPTY
| 1.5 | blank field error control file |
| Value Generated by CookMail | ||
ETC
| 1.0 | indicating the rest of the unformated input fields |
EMPTYERROR
| 1.5 | indicating the last input field which is empty |
| Internal Use - Do Not Use Them | ||
PREVENV
| only in 1.5x-1.6x | Abandoned in version 2 of CookMail |
HTTP/1.0 200 OK and two version that don't. This should fix the problem that CookMail runs fine on one server but not on the other. The main cause of the problem is that IIS required this header which is not in the CGI specification. Don't you just hate Microsoft?
Location:" instead of "Content-type:" to display its output. Although this method gives CookMail some powerful features, such as running CGI scripts in the output, it also leaves a temperary file in the /tmp directory everytime cookmail runs. There should be a cron job periodically removing these temperary files (/tmp/owebm* on Unix and c:\temp\oweb*.* on Windows) if there hasn't been a similar one. Using CookMail Lite can avoid this trouble.
Be warned:
Install and use CookMail at your own risk!
cookmail-l list for the lastest release/bug fix. If you like using CookMail, please send me a postcard. :)
Heng Yuan 2333 E. Eastland Tucson, AZ 85719 U.S.A.