home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
cdrm05o3.zip
/
CDRMAIL.DOC
< prev
next >
Wrap
Text File
|
1996-11-17
|
39KB
|
926 lines
CDRMAIL version 1.05
by
Charles D. Gaefke
Disclaimer
----------
The author of CDRMAIL is not responsible for any damaged, corrupted, lost,
or otherwise harmful occurrences which may occur from the use or inability
to use this program. This program has been tested and retested, and
debugged, by myself and others. To the best of my knowledge, CDRMAIL has
no bugs, and will not cause any corrupted or lost data on a properly
configured BBS. To the best of my knowledge, it will not do anything more
than what is documented herein. However, I guarantee NOTHING, except that
this program will take up hard drive space.
WARRANTY
--------
NO WARRANTY IS GIVEN, EITHER EXPRESSED OR IMPLIED, AS TO THE FUNCTIONALITY
OF THIS SOFTWARE PROGRAM. BY USING THIS SOFTWARE, YOU ARE AGREEING NOT TO
HOLD THE AUTHOR, CHARLES D. GAEFKE, RESPONSIBLE FOR ANY DAMAGES EITHER
CONSEQUENTIAL OR INCIDENTAL, WHICH ARISE FROM YOUR ABILITY TO USE OR MISUSE
THIS SOFTWARE PROGRAM. YOU ARE FURTHER AGREEING, WITH YOUR USE OF THIS
SOFTWARE PROGRAM, THAT YOU HAVE READ THIS ENTIRE DOCUMENT AND ARE FAMILIAR
WITH ITS TERMS AND AGREE TO EXEMPT CHARLES D. GAEFKE FROM ANY AND ALL
RESPONSIBILITIES IN THE EVENT OF ANY DAMAGES TO YOUR SYSTEM WHICH ARE
CAUSED EITHER THROUGH DIRECT OR INDIRECT USE OF THIS SOFTWARE PROGRAM.
Shareware Concept/Grant of License
----------------------------------
CDRMAIL is a fully-functional (non-crippled) Shareware utility. You are
granted a license to use and CDRMAIL for as long as you wish. If you use
CDRMAIL as your echomail processor, I request that you register it.
Registration is only $10. Please see below for the registration form. I
do *NOT* require registration. If you do not want to register it, or you
can not afford it, that is fine. I also take trades (make an offer!) or
just plain donations.
Distribution
------------
Feel free to distribute CDRMAIL among your sysop friends. However, I do
ask that you do so only in unmodified format, in the distribution
archive, that contains the following files:
CDRMAIL.BUG <- Bug report form.
CDRMAIL.EXE <- Executable.
CDRMAIL.DOC <- This file.
FILE_ID.DIZ <- Short description.
READ.ME <- Read it and see :)
TOBEDONE.TXT <- To be done in future versions.
WHATSNEW.TXT <- What's new.
The naming convention for CDRMAIL is CDRMvvpe. The CDRM stands for
CDRMAIL. The 'VV' will be a two digit number, such as 05, with 1 implied.
The 'P' will be the platform: D will be 16-bit DOS, X will be 32-bit DOS, O
will be 32-bit OS/2, W will be 32-bit Win95. The 'E' will be the
executable type: 2 (286), 3 (386), 4 (486), or 5 (Pentium). For example,
CDRM05X5 will be CDRMAIL v1.05, 32-bit DOS version, Pentium executable.
Beta versions will have the 0 replaced with a B.
Description
-----------
CDRMAIL is a Renegade echomail processor. It converts .MSG files (created
by your echomail tosser) to the Renegade message bases, and visa versa, in
a very efficient manner, causing it to process mail EXTREMELY fast.
Features
--------
- Capable of importing messages, purging them, and scaning new
messages out in *ONE* pass.
- Full netmail support, including kludge line support.
- *LOTS* of Netmail options
- Creates summary of echomail activity on each run.
- Optional logging of all activities to a log file of your specification.
- Optional forced tossing of 1.MSG.
- Optional "smart" tossing of 1.MSG.
- Direct support for GEcho.
- Does not garble echomail ANSI's.
- Supports all versions of Renegade from 10-05-94 on.
- Fully FTSC compliant.
- Smart exporting of echomail.
- Max size of 64,000 byte message size for importing/exporting.
- Optional absolute scan for exporting of echomail.
- Supports multiple configurations via command line and optional
environmental variables.
Requirements
------------
CDRMAIL requires Renegade version 10-05-94, 10-31-94, 04-05-96 or 05-11-96.
Because CDRMAIL runs in conjunction with an echomail processor, such as
GEcho, knowledge of configuring and running that echomail processor is also
required. And, since BBS's are run by batch files, batch file knowledge is
required as well.
As for hardware requirements, CDRMAIL requires adequate hard drive space
for the converted messages. The volume of messages you process will
determine how much hard drive space you need. CDRMAIL requires a 80286
processor, or better, to run. Memory requirements are minimal (less than
250k). If you run it in the same sequence you run your echomail
tosser/scanner, CDRMAIL should have plenty of memory to work with.
CDRMAIL has been tested and it runs properly under DOS/DESQVIEW, OS/2
Warp 3.0, OS/2 Warp 4.0, and Win95. This current release, 1.05, went
through tem beta levels before I released it as a full release. Thanks to
all my beta testers, a lot of bugs have been found and smashed. If you
find any, consider yourself lucky and please promptly report them. :)
Parameters
----------
CDRMAIL 05-11-96 Renegade Echomail Processor ∙ Registered version
Copyright (C) 1994-96 by Charles D. Gaefke. All rights reserved.
Commands:
-T Toss inbound messages
-S Scan outbound messages
Options: Netmail Options:
-D Delete .MSG files -N No netmail
-1 Import 1.MSG -O Only netmail
-2 Smart 1.MSG handling -E Errorlevel 1 if only Netmail exported
-A Absolute scan -Pxxx Sets point threshold(def=999)
-L Logging enabled -R Import received messages
-X Xtended logging enabled -K Keep imported Netmail
-G Path to GEcho directory
-C No CDRMAIL.DAT
-J JAM processing (N/A)
-V Display version number
Parameter Description
---------------------
Unless otherwise specified, these parameters can be used with one another
in any combination you see fit.
-T (Toss Inbound Messages)
Imports any inbound messages, including any inbound netmail unless
otherwise specified with "-N".
-S (Scan Outbound Messages)
Processes any outbound echomail messages, including netmail unless
otherwise specified with "-N".
-D (Delete .MSG Files)
Causes CDRMAIL to purge all message files (*.MSG) found in your
echomail paths. If used with "-T", CDRMAIL will purge them IMMEDIATELY
after importing them.
This CAN be used with -S. When CDRMAIL processes a base, first it
tosses new mail (if -T), then it deletes it (if -D), then it scans out new
mail (if -S). So CDRMAIl will *NOT* automatically delete messages it just
exported in that pass.
Note that if you leave the .MSG files in your echomail directories,
CDRMAIL will slow down a fair amount when processing mail, but it will
still function properly.
-1 (Import 1.MSG)
When importing echomail, CDRMAIL will look for 1.MSG, and if found,
will import it. This is an option because 1.MSG is usually used for what
is called a high message pointer for echomail tossers. Use at your
discretion. Mutually exclusive with "-2".
-2 (Smart 1.MSG handling)
With this parameter, CDRMAIL will look for 1.MSG. If found, it will
try to determine if it is a "high water mark" for an echomail processor.
If it determines that it is not a high water mark, it will be imported.
Otherwise it will be skipped and processing will continue at 2.MSG. Note
that I can guarantee this works with GEcho and Squish's high water mark,
but not other mail processors (if they exist). If you use a mail processor
that uses 1.MSG as a high water mark, and CDRMAIL does not recognize it,
please send me a sample 1.MSG and a future version of CDRMAIL will support
it. Mutually exclusive with "-1".
-A (Absolute Scan)
By default, CDRMAIL does "smart" exporting. That is, Renegade leaves a
"trace" for echomail processors so they know which bases contain messages
to be exported. By default, CDRMAIL scans for this "trace" and processes
an echomail base only if that "trace" is found. With the "-A" parameter, the
trace is not searched for; CDRMAIL will scan every message of every base
looking for unsent messages.
Note that if a message gets corrupted before exporting, the "trace" is
usually not activated, and will not be exported. Using absolute scan will
create garbled messages (that your moderator will love, I am sure) if
corrupted messages exist. Use at your own discretion.
-L (Logging Enabled)
By default, CDRMAIL does not do any logging functions. If you want it
to do minimal logging, use this command.
-X (Xtended Logging)
By default, if logging is specified, CDRMAIL records only the time it
was run, the parameters used, and summary of processing. If detailed
logging is specified, CDRMAIL records all default logging information plus
activity/actions for each base. For systems that handle a large amount of
mail, this can take up a significant amount of hard drive space and slow
system performance rather quickly, hence its optional status. The
parameter -L is not necessary if -X is used.
You may wish to use -X during your initial tests of CDRMAIL from the
command line to learn exactly what CDRMAIL is doing with your mail and to
verify its correctness and efficiency. I then suggest removing the -X for
day-to-day operation with your system to really see CDRMAIL in action!
-G(Path to GEcho directory)
GEcho versions 1.00 to 1.20/Plus create a SUMMARY.LOG after each mail
toss that contains the areatags of the areas mail was received in. If this
parameter is used, GEcho will read the SUMMARY.LOG and ONLY scan those
areas with new messages. This makes CDRMAIL *EXTREMELY* efficient and
fast. Can not be used with "-C".
Take note that GEcho 1.11 and below (I do not know if 1.20 does or
not) does NOT include the areatag of "personal" mail areas. A personal
mail area is an area that GEcho would copy messages addressed to a certain
name. On my system, I run CDRMAIL once without the -G parameter to import
my personal mail. A creative person could make a program that would
automatically insert the areatags of those said areas into the SUMMARY.LOG,
but I have not taken the time to do so as of yet.
Example:
cdrmail -t -d -gd:\im\gecho
(there is no space between the -g and the directory)
-C (No CDRMAIL.DAT)
By default, CDRMAIL uses a data file called CDRMAIL.DAT which contains
information about your message bases and, if used, your GEcho data base.
With a large number of message bases (generally 100 or more), this speeds
CDRMAIL up *immensely*. However, with a small number of areas, it's
actually faster to work without the CDRMAIL.DAT. That is what this
parameter is for. My suggestion to you, if you have a small number of
message areas, is to try CDRMAIL with and without the CDRMAIL.DAT and see
which is faster. Use whichever suits you best. Can not be used with "-G".
-J (JAM processing)
Version 1.06 of CDRMAIL will support JAM <-> MSG tossing for the
upcoming version of Renegade, which will only have JAM message bases.
Currently this switch does absolutely nothing, but it will be implemented
in version 1.06.
-V (Display version)
I added this just so you know exactly what version of CDRMAIL you are
using. Generally, CDRMAIL has the same version as the most recent version
of Renegade. Unfortunately, though, there may be more than one version of
CDRMAIL released for one version of Renegade (for example, version 1.01
through 1.05 report 05-11-96). So, if you want to know what version of
CDRMAIL you have, run CDRMAIL -V. :)
-N (No Netmail)
Causes CDRMAIL to -not- process netmail when importing or exporting.
Mutually exclusive with "-O".
-O (Only Netmail)
Causes CDRMAIL to -only- process netmail when importing or exporting.
Mutually exclusive with "-N".
-E (Errorlevel 1 if ONLY Netmail exported)
If only Netmail is exported when using -S, CDRMAIL will exit with an
errorlevel of 1. This is for batch file fanatics who optimize things as
much as they can. :)
-Pxxx (Point Threshold)
According to certain standards (Fidonet), the point field of the
address is not required to be specified when creating netmail. Because of
this, Netmail sometimes has "garbage" point addresses on it. CDRMAIL
compensates for this by checking the point address, and attempting to read
any kludge lines (hidden data lines) in the message. If CDRMAIL can not
find the data in the kludge lines, and the point address is larger than
999, it assumes it is meaningless, and sets it to 0. If, for whatever
reason, you want to change the threshold (default is 999), that is what
this parameter is for. Most systems will not need this parameter.
-R (Import Received Netmail)
If you read a Netmail message with an external Netmail editor, such as
GoldEd, the message is marked received. I, personally, do not like the way
Renegade handles Netmail, so I made CDRMAIL default to not importing
netmail messages marked received. However, other people have other tastes,
and some actually like the way Renegade handles Netmail, so I added -R to
force CDRMAIL to ignore the received flag on Netmail.
-K (Keep Imported Netmail)
If you want CDRMAIL to import Netmail into Renegade, but not delete it,
use this parameter. Instead of deleting the imported message(s), it will
mark them as Received.
Usage
-----
I think you will find CDRMAIL extremely easy to use. I have provided below
several examples of how to use CDRMAIL. Note that my examples use GEcho for
an echomail processor, and that I assume that you have installed GEcho in
\GECHO and Renegade in \RENEGADE. If using a different configuration of
hard drive subdirectories and/or echomail processing software, please
refer to the documentation that accompanied that echomail processor for
information regarding its configuration and for tossing/scanning echomail.
The first thing you need to do is unzip the distribution archive in your
Renegade directory. CDRMAIL will not run unless it is the same directory
your RENEGADE.DAT is in.
Following are some examples of what to do with your batch files to use
CDRMAIL.
Simple Setup
------------
These examples are for the "average" user who simply wants to use CDRMAIL's
basic features:
- For importing echomail:
CDRMAIL runs after you run your echomail processor. This example will
import all tossed messages, and purge them when done:
:mail_in
rem Tossing messages with echomail processor.
cd \gecho
gecho toss
rem Importing messages for Renegade.
cd \renegade
cdrmail -t -d
(Note: If you ARE using GEcho, I recommend you use the -G parameter when
tossing (-T) mail. It will speed things up significantly. See below for
an example.)
- For exporting echomail:
CDRMAIL runs before you run your echomail processor. Example:
:mail_out
cd \renegade
rem Exporting messages for processing by echomail processor.
cdrmail -s
rem Running echomail processor.
cd \gecho
gecho scan
rem Deleting previously exported messages.
cd \renegade
cdrmail -d
Optimized Setup
---------------
These examples are for the "power" users out there who want to get the
most out of what CDRMAIL has to offer:
- For importing echomail:
CDRMAIL runs after your echomail tosser. As above, this is assuming
you use GEcho for your echomail processor:
:mail_in
rem Tossing messages with echomail processor.
cd \gecho
gecho toss
rem Importing messages for Renegade.
cd \renegade
cdrmail -t -d -gd:\im\gecho -k -2
- For exporting echomail:
CDRMAIL runs before you run your echomail processor. (This example is
the same as above. The 99% of CDRMAIL's speed gain and options are for the
importing only.) Example:
:mail_out
cd \renegade
rem Exporting messages for processing by echomail processor.
cdrmail -s
rem Running echomail processor.
cd \gecho
gecho scan
rem Deleting previously exported messages.
cd \renegade
cdrmail -d
Logging
-------
If logging is enabled (-L or -X), CDRMAIL, by default, writes to a log file
called CDRMAIL.LOG in the LOGS path specified in your Renegade
configuration. You can override this default behavior by using the
environment variable CDRMAIL. To do this, use the DOS command SET, as
follows:
SET CDRMAIL=d:\path\filename.ext
where "d:" is the drive letter, "path" is the pathname, and "filename.ext" is
the name of the file into which you want CDRMAIL to write its statements.
For example, in your AUTOEXEC.BAT, put:
SET CDRMAIL=c:\logs\cdrmail.log
Then, every time CDRMAIL is run, the file C:\LOGS\CDRMAIL.LOG will be
appended with new log information.
Note that you can use any valid DOS path and filename you desire - but the
path, if specified, MUST exist. Otherwise CDRMAIL will exit with an error
and *will not* process your mail!
Performance Considerations
--------------------------
On my system, CDRMAIL *FLIES*. With 2 nodes running in the background,
plus whatever else I may be doing, I typically get 40+ messages tossed a
SECOND, *including* purging of the messages. My system is a Pentium 90
with 40 megs of RAM, and I run OS/2 Warp. If your messages/sec is much
slower than mine, and you have a system comparable to mine, there may be an
internal problem with CDRMAIL, or you could do some optimizing of your
system.
All mail tossers, CDRMAIL included, LOVE a disk cache. A disk
cache helps IMMENSELY when tossing mail - especially a write-behind disk
cache. For DOS, Smartdrv (in your DOS directory) or HyperDisk (by
HyperWare) are excellent disk caches. For OS/2, mail tossing works best on
a HPFS drive with a fairly large CACHE specified (I have a 2 meg cache).
Please see your manuals for installation of this software.
BE FOREWARNED - A write behind (lazy-write) cache is not for everyone.
There are hazards to a write behind cache. They function by storing
recently written data to memory, and it is eventually written to disk.
If your system is unstable - or if you have frequent power outages
(without a UPS), I do not recommend using a write-behind cache.
!!!USE THEM AT YOUR OWN RISK!!!
If you decide not to use a write-behind disk cache, a "normal" cache will
help immensely as well.
Platform Specific Tips
----------------------
CDRMAIL is available in four formats. The DOS 16-bit version, the DOS
32-bit version, the OS/2 32-bit version, and the Win95 32-bit versions. I
*highly* recommend that you use the version intended for your platform.
The DOS versions will run fine under OS/2 and Win95, but software native to
your operating system always runs faster than non-native software.
DOS 16-bit:
Not too much to say here, other than it likes a disk cache. (See
above.) If you have any tidbits, please send them to me, and I will
include them in the next release, with appropriate credit to you.
DOS 32-bit:
This one was originally designed for Win95 systems before a native
Win95 version was available. It requires what is called a DOS extender by
the name of DOS4GW.EXE. If you have this program on your computer, just
make sure it's somewhere in your path. If you do not have this program,
you can FREQ it from my system as "DOS4GW.EXE" (imagine that <G>).
Since DOS4GW.EXE must be loaded up before CDRMAIL runs, this version
may actually run slower on some systems. If you have a LOT of message
bases (I'd say over 300), and you run a DOS based system (or DESQVIEW),
this version may run faster than the 16-bit. Otherwise, because of the
loadup and exit time required by the extender, I believe it's actually
slower than the 16-bit.
If you use the 32-bit DOS version, and you like it more than 16-bit,
PLEASE let me know. Otherwise, this version will be discontinued in version
1.06.
OS/2 32-bit:
All I can really say about this is it FLIES. It appears to run faster
in a OS/2 fullscreen session than an OS/2 window. Since Renegade is
currently a DOS program, you may be wondering "how do I run an OS/2 tosser,
like CDRMAIL, when Renegade is a DOS program?". There are two answers.
A) Use 4DOS and 4OS2. I, unfortunately, do not know use these
applications, so I do not know the specifics as to how to use it.
B) Use a program by Hank Kelder called HSTART. HSTART can spawn OS/2 and
DOS windows from OS/2 and DOS windows. You can get a hold of HSTART off of
the InterNet. Look for HSTART05.ZIP (the most recent version as of this
writing). You can also FREQ it from my system as HSTART05.ZIP.
In my Renegade directory, I have these files:
@echo off
REM CDRMAIL.BAT - DOS batch file that DOS programs call to start CDRMAIL/2
hstart "CDRMail/2" /wait /fs d:\renegade\cdrmail.cmd %1 %2 %3 %4 %5 %6 %7 %8 %9
@echo off
REM CDRMAIL.CMD - OS/2 batch file that is called by CDRMAIL.BAT
REM If you use an OS/2 mailer and/or OS/2 mail tosser, this is not
REM necessary.
cd \renegade
cdrmail2.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
hwait
exit
Everytime I call CDRMAIL, I call it just like I would if it was a DOS
program. For example, my toss batch file (TOSS.BAT) has this:
CALL CDRMAIL.BAT -T -D -X -GD:\IM\GECHO
If you use this method, you MUST CALL CDRMAIL.BAT. Otherwise execution
will stop where CDRMAIL.BAT is loaded.
Win95 32-bit:
From my limited Win95 expertise, all I know is you just use the Win95
version just like you would the DOS version, in a DOS box. It runs just
like the DOS executable, only faster. If you have any special tidbits,
please let me know, and I'll add them (with credit) to a future version.
Time Estimation
---------------
CDRMAIL calculates the local time from the DOS environment variable TZ.
Most BBS's should have this variable set already, since many popular
programs make use of it. If you do not currently use TZ, and are not
located in the eastern time zone (see note #2), the TZ environment variable
is not very difficult to add.
The TZ variable is in the following format:
xxxNyyy
Where xxx is your time zone (ex: EST), N is the time zone difference between
your zone and Greenwich, and yyy is the your time zone initials if/when you
observe Daylight Savings time. The yyy is not necessary - if it is omitted,
it simply means you do not observe Daylight Savings time and the time
will not be adjusted.
Set the variable in your AUTOEXEC.BAT, by adding:
SET TZ=xxxNyyy
substituting xxxNyyy with your settings, of course. For example, in my
AUTOEXEC.BAT, I have:
SET TZ=EST5EDT
Note 1: If you are unsure what amount of time zone difference there is
between your location and Greenwich, consider that the setting for Eastern
Standard Time is EST5EDT. If you live in California, you are three hours
behind EST, so you would use PST8PDT.
Note 2: If TZ is not present, CDRMAIL assumes TZ=EST5EDT.
Error levels
------------
CDRMAIL does support DOS error levels. They are listed in the following
table:
ERROR LEVEL Meaning
=============================================================================
0 Normal Completion - No errors encountered.
1 If -E is used, this indicates only Netmail was exported.
3 Insufficient memory to process mail. Mail was NOT processed.
5 File not found. A file CDRMAIL was searching for could not
be found. Some mail processing may have occurred before
this error. This could be a user problem or an internal
problem with CDRMAIL.
10 User Break (Ctrl-Break) or internal error. The user has
terminated CDRMAIL, or CDRMAIL has detected an internal
error.
Since every process in CDRMAIL is logged (if enabled), if you check your
log file you will see exactly what when wrong and when. I implemented the
error levels just for those who may want them/are able to handle them in
BATCH files :)
Note that unlike Renemail, there is no error-level if CDRMAIL "chokes" on a
message because CDRMAIL does not choke on messages. Nor does CDRMAIL "hang"
either. (If it does either, there is an internal problem with CDRMAIL.)
There is no easy for CDRMAIL to determine if a message is really garbled
or not. So any garbled messages, if any, will be imported, as they are.
Registration
------------
CDRMAIL is Shareware. Not the -normal- Shareware, because I do *NOT*
require registration. If you want to register CDRMAIL, I will be more than
happy to accept it. :)
However, until CDRMAIL is registered, it will display "UNREGISTERED" in a
couple of places, and a ten second delay will occur upon successful
completion of CDRMAIL after the 10 day evaluation period.
Registration is a one time deal with CDRMAIL. A registration now will work
with ALL versions of CDRMAIL (16/32 DOS, OS/2, and Win95), and all future
versions of CDRMAIL.
Registration of CDRMAIL costs only US$10.00. Considering the amount of time
I have put into CDRMAIL, and how useful and efficient it is, I consider this
to be a small price to pay for the performance gained. Upon registration:
1) You will receive a registration key;
2) You will be supporting the shareware concept;
3) You will be encouraging me to write more utilities; and
4) All unregistered "features" will be removed.
To register, please print this form and mail it with your check or money
order to:
CHARLES D. GAEFKE
PO BOX 257
CECIL, PA 15321
I will process your order for CDRMAIL upon receipt, and will deliver it
immediately using the method you have specified.
International orders welcomed! All personal checks, however, must be drawn
in US funds on a US bank. Canadian residents may obtain a money order in US
funds at their local bank or post office. Other countries please inquire at
your local bank or postal office about an International Money Order (IMO).
(cut here)
---------------------------------------------------------------------------
Registration form for CDRMAIL version 1.05.
Your REAL name:
Address #1:
Address #2:
City, State, Zip:
Country:
I can send you your registration key two ways:
1) I can crash it to you via Netmail if you have an address that I have a
nodelist for.
2) I can call your BBS and upload it (please leave data phone #).
Preference:
These are not required, but I would appreciate you filling them out so I
know exactly what types of systems CDRMAIL is running on.
Hardware
CPU: RAM:
Operating system:
Version of CDRMAIL you are using (DOS, OS/2, Win95):
Why are you registering CDRMAIL?
Enclosed is $____.
[ ] Check [ ] Money Order [ ] International Money Order (IMO)
By signing below, I agree that by registering this program, I am in no way
purchasing and am in no way granted partial ownership or rights to CDRMAIL.
I am paying for a non-transferable license to use CDRMAIL on my system
indefinitely and to support the author and the shareware marketing concept.
In return for my payment, however, I expect to receive a registration key
which will disable any unregistered "features" of CDRMAIL.
Signature: ______________________________ Date: __/__/__
Please make check or money order payable to Charles D. Gaefke.
---------------------------------------------------------------------------
Bug Reports
-----------
At the present time, there are no known bugs in CDRMAIL. Although, a
wise man once stated: "Is a program every really truely bug free?"
So...
In the event that another bug is found, however, please let me know! For
me to fix it, I will require as much information as you can give me. So,
when contacting me about a bug, please fill out the CDRMAIL.BUG file
included in this archive, and send it to me, either via EMail
(cdgaefke@sgi.net), Netmail at 1:129/230, or post it in any RGSNet echo.
How It Works
------------
Special notes on how CDRMAIL functions, for those who may be curious, and
are familiar with how Renegade works:
Q. How does CDRMAIL distinguish what Netmail messages to import?
A: First it checks the origin address of the netmail message to see if it
is from one of your AKA (specified in your Renegade setup). If no match is
found, it checks the destination address for a match against your AKA's.
If one is found, CDRMAIL checks the destination name against your user
database. If a match is found, it is imported for that user. If not, it
is still imported, but for user #1.
Q. What is the HI_WATER.MRK file in all of my echomail directories?
A. CDRMAIL uses the HI_WATER.MRK file to keep track of what messages have
been imported (so that it does not import them again). The HI_WATER.MRK
file contains the number of the last message imported.
Q. How does CDRMAIL import messages?
A: First CDRMAIL checks for a match to the filespec (*.MSG) for the area.
If a match is found, CDRMAIL checks the HI_WATER.MRK file (see above),
reading the number of the last message imported, and the date/time stamp of
it. CDRMAIL then checks to see if that message exists and IF it has the
same date/time stamp as the HI_WATER.MRK indicates. If a match is made,
CDRMAIL starts importing at the next message (if it exists). If there is
no match, CDRMAIL starts importing at 2.MSG (1.MSG if "-1" or "-2" is used;
if "-1" or "-2" is used and 1.MSG is not found, it goes to 2.MSG). *IF*
1.MSG or 2.MSG is not the first message, THERE WILL BE AN ERROR! Mail
tossers toss from 1.MSG or 2.MSG on - therefore if *.MSG is found, CDRMAIL
assumes the first message is 2.MSG (or 1.MSG). CDRMAIL keeps importing, as
long as the next message exists. That means if you 2.MSG, 3.MSG, and 5.MSG
in your directory, CDRMAIL will import #2, #3, see that #4 does not exist,
stop there.
Note that I could add a search and sort algorythm to find all the .MSG files
and process in the proper order, so that there can be gaps in your "MSG count".
However that would require additional overhead and slow CDRMAIL down.
The ONLY exception to this is when CDRMAIL processes Netmail. When CDRMAIL
processes Netmail, it reads the numbers of all the messages (since they can
vary in number), and sorts them out. CDRMAIL then processes them one at a
time, in the order then exist. Note that if, by chance, one of the netmail
messages is deleted (such as on a multi-node system that just sent/received
a mail call) before CDRMAIL processes it, and after CDRMAIL acknowledges it
is there, CDRMAIL will give an error, and abort. However next time CDRMAIL
runs, things will proceed as normal with no data lost.
Q. How does CDRMAIL purge messages?
A. If -D (purging) is used with -T, CDRMAIL purges *ONLY* if messages are
imported. If not, CDRMAIL does not check to see if there are messages to
be purged. If -D is used by itself, CDRMAIL deletes any match it finds to
the *.MSG specification, one at a time (unfortunately I have found no way
to purge them all at once, such as "DEL *.MSG"), as it finds them.
Q. How does CDRMAIL export message?
A. This is relatively self-explanatory, but I have included it because I
have the other 3 main functions in here. :) Unless the "-A" parameter is
used, CDRMAIL checks each base for the "marker" indicating it has messages
that are not sent. When it finds one, it searches through all the messages
until it finds one that is unsent (and validated), and exports it to the
next .MSG number. That is, if you have 2.MSG-100.MSG in your directory
when CDRMAIL exports, CDRMAIL will start exporting as 101.MSG, then
102.MSG, etc. If the "-A" parameter is used, CDRMAIL checks every base for
any message that has not been sent (and is validated).
Q. What is the CDRMAIL.DAT I have in my Renegade directory?
A. The CDRMAIL.DAT contains all the data CDRMAIL needs from your message
base info (MBASES.DAT). If you will compare the size of the two, you will
see there isn't much from the MBASES.DAT that CDRMAIL needs. With this in
mind, CDRMAIL can run faster because it doesn't have access everything in
the MBASES.DAT (whether it read the whole thing into memory or if it
"jumps" through it finding what it needs). In the CDRMAIL.DAT is a
date/time stamp of the MBASES.DAT when CDRMAIL was last executed. When
CDRMAIL runs, it compares that date/time stamp to the one on the
MBASES.DAT. If it is different, CDRMAIL assumes the MBASES.DAT has been
changed, and a new CDRMAIL.DAT is created with a new date/time stamp
reflecting the new MBASES.DAT in it.
If you are using the "-G" parameter, the CDRMAIL.DAT also contains the
date/time stamp of your AREAFILE.GE plus all the info CDRMAIL needs from
that data file.
Q. What are kludge lines?
A. Kludge lines are "hidden" lines in messages. Not all echomail messages
have them, but virtually all Netmail messages do have them. They contain
control information about the message, including destination and origin
addresses, and message flags, such as "truncate file sent".
Q. What kludge lines does CDRMAIL support?
A. Currently, CDRMAIL support four kludge lines:
MSGID: for use with origin zone address
INTL: for use with origin zone and destination zone address
TOPT: for use with destination point address
FMPT: for use with origin zone point address
Q. How does CDRMAIL determine if 1.MSG is a message or a "high water mark"?
A. Squish and GEcho use a format for their 1.MSG high water marks that are
very similar. They both have the private, received, and sent flags turned
on, as well as the very first line containing the words "NO ECHO". Those
are the qualifications CDRMAIL uses - if a message meets those attributes,
then it is not imported. Otherwise, it is.
Miscellaneous Information
-------------------------
This is the third 'official' release of a program for me. My first was
GEMC, a program to keep a daily record of imported messages from GEcho.
The second was RGNSHOW, a program to reflect the status of other nodes from
the command line. There are more programs in the making (that I do not
care to reveal at the moment) , and still more ideas I have not started
yet.
In case anyone is wondering, CDRMAIL stands for CD's Renegade MAIL
processor.
I am in no way affiliated with any group or company. I author alone.
CDRMAIL was compiled with Watcom C++ v 10.6.
Source code (approx 2500 lines amounting to 92k) is NOT available for sale
or study.
If a new Renegade is released with modified structures, I will update
CDRMAIL as soon as I get the structures for the upgraded Renegade.
The latest version of CDRMAIL can always be FREQed as 'CDRMAIL' from
50:530/1 or 1:129/230, my BBS. CDRMAIL can also be downloaded off of
either of my official websites to Matt Perrotti) at
http://www.lm.com/~mtp/cdrmail.html or http://www.musc.edu/meducare/rg.htm
and you may find it on a FTP site, uploaded by someone other than myself.
Credits
-------
My thanks to Watcom for their IDE interface. Without it I would be lost.
Many thanks to Cott Lang for Renegade - the best BBS around. Thanks
to Patrick Spence for his advice and letting me know what the future
of Renegade holds.
Merci beaucoup to my girlfriend Tasha for listening to all my gripes and
complaints when things did not go the way they should while programming.
Many thanks to all of my Beta testers, whos names appear in alphabetical
order:
Robert Colbert, Richard Cooper, Joshua Ecklund, Andrew Fuller (Shanarra),
Benjamin Hannon, Chris Mangus, Scott Mayall, Lost Mind, Matt Perrotti,
Jeff D. Roesner (Rotten), Patrick Spence, and the rest of them who did
not give me their names. :)
Special thanks to Matt Perrotti and Richard Cooper for putting CDRMAIL
on their web pages. Special thanks to Lost Mind for pointing out several
problems with CDRMAIL and offering many suggestions.
And of course, thanks to all of you who have registered CDRMAIL:
Matt Perrotti, Joshua Ecklund, Jeff Roesner, and the rest of you who have
your registrations all filled out but have not mailed it yet. :)
Suggestions, Questions, and/or Comments
---------------------------------------
Questions, technical support and comments about CDRMAIL, or any of my
software, may be sent to me via netmail at 1:129/230@Fidonet.org or
50:530/1@RGSNet. Currently my EMail address is cdgaefke@sgi.net, but that
may change within a month from this release. I am also reachable in all of
the RGSNet echos. Or, if you prefer, you can snailmail me at
LOTL/2
c/o Charles Gaefke
PO Box 257
Cecil, PA 15321
-C. Gaefke, 17 Novemeber 1996