home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / cdrm05o3.zip / CDRMAIL.DOC < prev    next >
Text File  |  1996-11-17  |  39KB  |  926 lines

  1.                            CDRMAIL version 1.05
  2.                                     by
  3.                             Charles D. Gaefke
  4.  
  5.  
  6.                                 Disclaimer
  7.                                 ----------
  8.  
  9. The author of CDRMAIL is not responsible for any damaged, corrupted, lost,
  10. or otherwise harmful occurrences which may occur from the use or inability
  11. to use this program.  This program has been tested and retested, and
  12. debugged, by myself and others.  To the best of my knowledge, CDRMAIL has
  13. no bugs, and will not cause any corrupted or lost data on a properly
  14. configured BBS.  To the best of my knowledge, it will not do anything more
  15. than what is documented herein.  However, I guarantee NOTHING, except that
  16. this program will take up hard drive space.
  17.  
  18.  
  19.                                  WARRANTY
  20.                                  --------
  21.  
  22. NO WARRANTY IS GIVEN, EITHER EXPRESSED OR IMPLIED, AS TO THE FUNCTIONALITY
  23. OF THIS SOFTWARE PROGRAM.  BY USING THIS SOFTWARE, YOU ARE AGREEING NOT TO
  24. HOLD THE AUTHOR, CHARLES D.  GAEFKE, RESPONSIBLE FOR ANY DAMAGES EITHER
  25. CONSEQUENTIAL OR INCIDENTAL, WHICH ARISE FROM YOUR ABILITY TO USE OR MISUSE
  26. THIS SOFTWARE PROGRAM.  YOU ARE FURTHER AGREEING, WITH YOUR USE OF THIS
  27. SOFTWARE PROGRAM, THAT YOU HAVE READ THIS ENTIRE DOCUMENT AND ARE FAMILIAR
  28. WITH ITS TERMS AND AGREE TO EXEMPT CHARLES D.  GAEFKE FROM ANY AND ALL
  29. RESPONSIBILITIES IN THE EVENT OF ANY DAMAGES TO YOUR SYSTEM WHICH ARE
  30. CAUSED EITHER THROUGH DIRECT OR INDIRECT USE OF THIS SOFTWARE PROGRAM.
  31.  
  32.  
  33.                        Shareware Concept/Grant of License
  34.                        ----------------------------------
  35.  
  36. CDRMAIL is a fully-functional (non-crippled) Shareware utility.  You are
  37. granted a license to use and CDRMAIL for as long as you wish.  If you use
  38. CDRMAIL as your echomail processor, I request that you register it.
  39. Registration is only $10.  Please see below for the registration form.  I
  40. do *NOT* require registration.  If you do not want to register it, or you
  41. can not afford it, that is fine.  I also take trades (make an offer!) or
  42. just plain donations.
  43.  
  44.  
  45.                                Distribution
  46.                                ------------
  47.  
  48. Feel free to distribute CDRMAIL among your sysop friends.  However, I do
  49. ask that you do so only in unmodified format, in the distribution
  50. archive, that contains the following files:
  51.  
  52. CDRMAIL.BUG  <- Bug report form.
  53. CDRMAIL.EXE  <- Executable.
  54. CDRMAIL.DOC  <- This file.
  55. FILE_ID.DIZ  <- Short description.
  56. READ.ME      <- Read it and see :)
  57. TOBEDONE.TXT <- To be done in future versions.
  58. WHATSNEW.TXT <- What's new.
  59.  
  60. The naming convention for CDRMAIL is CDRMvvpe.  The CDRM stands for
  61. CDRMAIL.  The 'VV' will be a two digit number, such as 05, with 1 implied.
  62. The 'P' will be the platform: D will be 16-bit DOS, X will be 32-bit DOS, O
  63. will be 32-bit OS/2, W will be 32-bit Win95.  The 'E' will be the
  64. executable type: 2 (286), 3 (386), 4 (486), or 5 (Pentium).  For example,
  65. CDRM05X5 will be CDRMAIL v1.05, 32-bit DOS version, Pentium executable.
  66. Beta versions will have the 0 replaced with a B.
  67.  
  68.  
  69.                                 Description
  70.                                 -----------
  71.  
  72. CDRMAIL is a Renegade echomail processor.  It converts .MSG files (created
  73. by your echomail tosser) to the Renegade message bases, and visa versa, in
  74. a very efficient manner, causing it to process mail EXTREMELY fast.
  75.  
  76.  
  77.                                  Features
  78.                                  --------
  79.  
  80. - Capable of importing messages, purging them, and scaning new
  81.   messages out in *ONE* pass.
  82. - Full netmail support, including kludge line support.
  83. - *LOTS* of Netmail options
  84. - Creates summary of echomail activity on each run.
  85. - Optional logging of all activities to a log file of your specification.
  86. - Optional forced tossing of 1.MSG.
  87. - Optional "smart" tossing of 1.MSG.
  88. - Direct support for GEcho.
  89. - Does not garble echomail ANSI's.
  90. - Supports all versions of Renegade from 10-05-94 on.
  91. - Fully FTSC compliant.
  92. - Smart exporting of echomail.
  93. - Max size of 64,000 byte message size for importing/exporting.
  94. - Optional absolute scan for exporting of echomail.
  95. - Supports multiple configurations via command line and optional
  96.   environmental variables.
  97.  
  98.  
  99.                                Requirements
  100.                                ------------
  101.  
  102. CDRMAIL requires Renegade version 10-05-94, 10-31-94, 04-05-96 or 05-11-96.
  103. Because CDRMAIL runs in conjunction with an echomail processor, such as
  104. GEcho, knowledge of configuring and running that echomail processor is also
  105. required.  And, since BBS's are run by batch files, batch file knowledge is
  106. required as well.
  107.  
  108. As for hardware requirements, CDRMAIL requires adequate hard drive space
  109. for the converted messages.  The volume of messages you process will
  110. determine how much hard drive space you need.  CDRMAIL requires a 80286
  111. processor, or better, to run.  Memory requirements are minimal (less than
  112. 250k).  If you run it in the same sequence you run your echomail
  113. tosser/scanner, CDRMAIL should have plenty of memory to work with.
  114.  
  115. CDRMAIL has been tested and it runs properly under DOS/DESQVIEW, OS/2
  116. Warp 3.0, OS/2 Warp 4.0, and Win95.  This current release, 1.05, went
  117. through tem beta levels before I released it as a full release.  Thanks to
  118. all my beta testers, a lot of bugs have been found and smashed.  If you
  119. find any, consider yourself lucky and please promptly report them. :)
  120.  
  121.  
  122.                                 Parameters
  123.                                 ----------
  124.  
  125. CDRMAIL 05-11-96 Renegade Echomail Processor ∙ Registered version
  126. Copyright (C) 1994-96 by Charles D. Gaefke.  All rights reserved.
  127.  
  128. Commands:
  129.   -T  Toss inbound messages
  130.   -S  Scan outbound messages
  131.  
  132. Options:                        Netmail Options:
  133.   -D    Delete .MSG files         -N    No netmail
  134.   -1    Import 1.MSG              -O    Only netmail
  135.   -2    Smart 1.MSG handling      -E    Errorlevel 1 if only Netmail exported
  136.   -A    Absolute scan             -Pxxx Sets point threshold(def=999)
  137.   -L    Logging enabled           -R    Import received messages
  138.   -X    Xtended logging enabled   -K    Keep imported Netmail
  139.   -G    Path to GEcho directory
  140.   -C    No CDRMAIL.DAT
  141.   -J    JAM processing (N/A)
  142.   -V    Display version number
  143.  
  144.  
  145.                            Parameter Description
  146.                            ---------------------
  147.  
  148.     Unless otherwise specified, these parameters can be used with one another
  149. in any combination you see fit.
  150.  
  151.  
  152. -T (Toss Inbound Messages)
  153.     Imports any inbound messages, including any inbound netmail unless
  154. otherwise specified with "-N".
  155.  
  156.  
  157. -S (Scan Outbound Messages)
  158.     Processes any outbound echomail messages, including netmail unless
  159. otherwise specified with "-N".
  160.  
  161.  
  162. -D (Delete .MSG Files)
  163.     Causes CDRMAIL to purge all message files (*.MSG) found in your
  164. echomail paths.  If used with "-T", CDRMAIL will purge them IMMEDIATELY
  165. after importing them.
  166.  
  167.     This CAN be used with -S.  When CDRMAIL processes a base, first it
  168. tosses new mail (if -T), then it deletes it (if -D), then it scans out new
  169. mail (if -S).  So CDRMAIl will *NOT* automatically delete messages it just
  170. exported in that pass.
  171.  
  172.     Note that if you leave the .MSG files in your echomail directories,
  173. CDRMAIL will slow down a fair amount when processing mail, but it will
  174. still function properly.
  175.  
  176.  
  177. -1 (Import 1.MSG)
  178.     When importing echomail, CDRMAIL will look for 1.MSG, and if found,
  179. will import it.  This is an option because 1.MSG is usually used for what
  180. is called a high message pointer for echomail tossers.  Use at your
  181. discretion.  Mutually exclusive with "-2".
  182.  
  183.  
  184. -2 (Smart 1.MSG handling)
  185.     With this parameter, CDRMAIL will look for 1.MSG.  If found, it will
  186. try to determine if it is a "high water mark" for an echomail processor.
  187. If it determines that it is not a high water mark, it will be imported.
  188. Otherwise it will be skipped and processing will continue at 2.MSG.  Note
  189. that I can guarantee this works with GEcho and Squish's high water mark,
  190. but not other mail processors (if they exist).  If you use a mail processor
  191. that uses 1.MSG as a high water mark, and CDRMAIL does not recognize it,
  192. please send me a sample 1.MSG and a future version of CDRMAIL will support
  193. it.  Mutually exclusive with "-1".
  194.  
  195.  
  196. -A (Absolute Scan)
  197.     By default, CDRMAIL does "smart" exporting.  That is, Renegade leaves a
  198. "trace" for echomail processors so they know which bases contain messages
  199. to be exported.  By default, CDRMAIL scans for this "trace" and processes
  200. an echomail base only if that "trace" is found.  With the "-A" parameter, the
  201. trace is not searched for; CDRMAIL will scan every message of every base
  202. looking for unsent messages.
  203.  
  204.     Note that if a message gets corrupted before exporting, the "trace" is
  205. usually not activated, and will not be exported.  Using absolute scan will
  206. create garbled messages (that your moderator will love, I am sure) if
  207. corrupted messages exist.  Use at your own discretion.
  208.  
  209.  
  210. -L (Logging Enabled)
  211.     By default, CDRMAIL does not do any logging functions.  If you want it
  212. to do minimal logging, use this command.
  213.  
  214.  
  215. -X (Xtended Logging)
  216.     By default, if logging is specified, CDRMAIL records only the time it
  217. was run, the parameters used, and summary of processing.  If detailed
  218. logging is specified, CDRMAIL records all default logging information plus
  219. activity/actions for each base.  For systems that handle a large amount of
  220. mail, this can take up a significant amount of hard drive space and slow
  221. system performance rather quickly, hence its optional status.  The
  222. parameter -L is not necessary if -X is used.
  223.  
  224.     You may wish to use -X during your initial tests of CDRMAIL from the
  225. command line to learn exactly what CDRMAIL is doing with your mail and to
  226. verify its correctness and efficiency.  I then suggest removing the -X for
  227. day-to-day operation with your system to really see CDRMAIL in action!
  228.  
  229.  
  230. -G(Path to GEcho directory)
  231.     GEcho versions 1.00 to 1.20/Plus create a SUMMARY.LOG after each mail
  232. toss that contains the areatags of the areas mail was received in.  If this
  233. parameter is used, GEcho will read the SUMMARY.LOG and ONLY scan those
  234. areas with new messages.  This makes CDRMAIL *EXTREMELY* efficient and
  235. fast.  Can not be used with "-C".
  236.  
  237.     Take note that GEcho 1.11 and below (I do not know if 1.20 does or
  238. not) does NOT include the areatag of "personal" mail areas.  A personal
  239. mail area is an area that GEcho would copy messages addressed to a certain
  240. name.  On my system, I run CDRMAIL once without the -G parameter to import
  241. my personal mail.  A creative person could make a program that would
  242. automatically insert the areatags of those said areas into the SUMMARY.LOG,
  243. but I have not taken the time to do so as of yet.
  244.  
  245.      Example:
  246.  
  247. cdrmail -t -d -gd:\im\gecho
  248.  
  249.      (there is no space between the -g and the directory)
  250.  
  251.  
  252. -C (No CDRMAIL.DAT)
  253.     By default, CDRMAIL uses a data file called CDRMAIL.DAT which contains
  254. information about your message bases and, if used, your GEcho data base.
  255. With a large number of message bases (generally 100 or more), this speeds
  256. CDRMAIL up *immensely*.  However, with a small number of areas, it's
  257. actually faster to work without the CDRMAIL.DAT.  That is what this
  258. parameter is for.  My suggestion to you, if you have a small number of
  259. message areas, is to try CDRMAIL with and without the CDRMAIL.DAT and see
  260. which is faster.  Use whichever suits you best.  Can not be used with "-G".
  261.  
  262.  
  263. -J (JAM processing)
  264.     Version 1.06 of CDRMAIL will support JAM <-> MSG tossing for the
  265. upcoming version of Renegade, which will only have JAM message bases.
  266. Currently this switch does absolutely nothing, but it will be implemented
  267. in version 1.06.
  268.  
  269.  
  270. -V (Display version)
  271.     I added this just so you know exactly what version of CDRMAIL you are
  272. using.  Generally, CDRMAIL has the same version as the most recent version
  273. of Renegade.  Unfortunately, though, there may be more than one version of
  274. CDRMAIL released for one version of Renegade (for example, version 1.01
  275. through 1.05 report 05-11-96).  So, if you want to know what version of 
  276. CDRMAIL you have, run CDRMAIL -V.  :)
  277.  
  278.  
  279. -N (No Netmail)
  280.     Causes CDRMAIL to -not- process netmail when importing or exporting.
  281. Mutually exclusive with "-O".
  282.  
  283.  
  284. -O (Only Netmail)
  285.     Causes CDRMAIL to -only- process netmail when importing or exporting.
  286. Mutually exclusive with "-N".
  287.  
  288.  
  289. -E (Errorlevel 1 if ONLY Netmail exported)
  290.     If only Netmail is exported when using -S, CDRMAIL will exit with an
  291. errorlevel of 1.  This is for batch file fanatics who optimize things as
  292. much as they can. :)
  293.  
  294.  
  295. -Pxxx (Point Threshold)
  296.     According to certain standards (Fidonet), the point field of the
  297. address is not required to be specified when creating netmail.  Because of
  298. this, Netmail sometimes has "garbage" point addresses on it.  CDRMAIL
  299. compensates for this by checking the point address, and attempting to read
  300. any kludge lines (hidden data lines) in the message.  If CDRMAIL can not
  301. find the data in the kludge lines, and the point address is larger than
  302. 999, it assumes it is meaningless, and sets it to 0.  If, for whatever
  303. reason, you want to change the threshold (default is 999), that is what
  304. this parameter is for.  Most systems will not need this parameter.
  305.  
  306.  
  307. -R (Import Received Netmail)
  308.     If you read a Netmail message with an external Netmail editor, such as
  309. GoldEd, the message is marked received.  I, personally, do not like the way
  310. Renegade handles Netmail, so I made CDRMAIL default to not importing
  311. netmail messages marked received.  However, other people have other tastes,
  312. and some actually like the way Renegade handles Netmail, so I added -R to
  313. force CDRMAIL to ignore the received flag on Netmail.
  314.  
  315.  
  316. -K (Keep Imported Netmail)
  317.     If you want CDRMAIL to import Netmail into Renegade, but not delete it,
  318. use this parameter.  Instead of deleting the imported message(s), it will
  319. mark them as Received.
  320.  
  321.  
  322.                                    Usage
  323.                                    -----
  324.  
  325. I think you will find CDRMAIL extremely easy to use.  I have provided below
  326. several examples of how to use CDRMAIL.  Note that my examples use GEcho for
  327. an echomail processor, and that I assume that you have installed GEcho in
  328. \GECHO and Renegade in \RENEGADE.  If using a different configuration of
  329. hard drive subdirectories and/or echomail processing software, please
  330. refer to the documentation that accompanied that echomail processor for
  331. information regarding its configuration and for tossing/scanning echomail.
  332.  
  333. The first thing you need to do is unzip the distribution archive in your
  334. Renegade directory.  CDRMAIL will not run unless it is the same directory
  335. your RENEGADE.DAT is in.
  336.  
  337. Following are some examples of what to do with your batch files to use
  338. CDRMAIL.
  339.  
  340.                                Simple Setup
  341.                                ------------
  342.  
  343. These examples are for the "average" user who simply wants to use CDRMAIL's
  344. basic features:
  345.  
  346.  
  347. - For importing echomail:
  348.     CDRMAIL runs after you run your echomail processor.  This example will
  349. import all tossed messages, and purge them when done:
  350.  
  351. :mail_in
  352. rem Tossing messages with echomail processor.
  353. cd \gecho
  354. gecho toss
  355. rem Importing messages for Renegade.
  356. cd \renegade
  357. cdrmail -t -d
  358.  
  359. (Note: If you ARE using GEcho, I recommend you use the -G parameter when
  360. tossing (-T) mail.  It will speed things up significantly.  See below for
  361. an example.)
  362.  
  363.  
  364. - For exporting echomail:
  365.     CDRMAIL runs before you run your echomail processor.  Example:
  366.  
  367. :mail_out
  368. cd \renegade
  369. rem Exporting messages for processing by echomail processor.
  370. cdrmail -s
  371. rem Running echomail processor.
  372. cd \gecho
  373. gecho scan
  374. rem Deleting previously exported messages.
  375. cd \renegade
  376. cdrmail -d
  377.  
  378.  
  379.                               Optimized Setup
  380.                               ---------------
  381.  
  382. These examples are for the "power" users out there who want to get the
  383. most out of what CDRMAIL has to offer:
  384.  
  385.  
  386. - For importing echomail:
  387.     CDRMAIL runs after your echomail tosser.  As above, this is assuming
  388. you use GEcho for your echomail processor:
  389.  
  390. :mail_in
  391. rem Tossing messages with echomail processor.
  392. cd \gecho
  393. gecho toss
  394. rem Importing messages for Renegade.
  395. cd \renegade
  396. cdrmail -t -d -gd:\im\gecho -k -2
  397.  
  398.  
  399. - For exporting echomail:
  400.     CDRMAIL runs before you run your echomail processor.  (This example is
  401. the same as above.  The 99% of CDRMAIL's speed gain and options are for the
  402. importing only.)  Example:
  403.  
  404. :mail_out
  405. cd \renegade
  406. rem Exporting messages for processing by echomail processor.
  407. cdrmail -s
  408. rem Running echomail processor.
  409. cd \gecho
  410. gecho scan
  411. rem Deleting previously exported messages.
  412. cd \renegade
  413. cdrmail -d
  414.  
  415.  
  416.                                   Logging
  417.                                   -------
  418.  
  419. If logging is enabled (-L or -X), CDRMAIL, by default, writes to a log file
  420. called CDRMAIL.LOG in the LOGS path specified in your Renegade
  421. configuration.  You can override this default behavior by using the
  422. environment variable CDRMAIL.  To do this, use the DOS command SET, as
  423. follows:
  424.  
  425.       SET CDRMAIL=d:\path\filename.ext
  426.  
  427. where "d:" is the drive letter, "path" is the pathname, and "filename.ext" is
  428. the name of the file into which you want CDRMAIL to write its statements.
  429. For example, in your AUTOEXEC.BAT, put:
  430.  
  431.       SET CDRMAIL=c:\logs\cdrmail.log
  432.  
  433. Then, every time CDRMAIL is run, the file C:\LOGS\CDRMAIL.LOG will be
  434. appended with new log information.
  435.  
  436. Note that you can use any valid DOS path and filename you desire - but the
  437. path, if specified, MUST exist.  Otherwise CDRMAIL will exit with an error
  438. and *will not* process your mail!
  439.  
  440.  
  441.                         Performance Considerations
  442.                         --------------------------
  443.  
  444. On my system, CDRMAIL *FLIES*.  With 2 nodes running in the background,
  445. plus whatever else I may be doing, I typically get 40+ messages tossed a
  446. SECOND, *including* purging of the messages.  My system is a Pentium 90
  447. with 40 megs of RAM, and I run OS/2 Warp.  If your messages/sec is much
  448. slower than mine, and you have a system comparable to mine, there may be an
  449. internal problem with CDRMAIL, or you could do some optimizing of your
  450. system.
  451.  
  452. All mail tossers, CDRMAIL included, LOVE a disk cache.  A disk
  453. cache helps IMMENSELY when tossing mail - especially a write-behind disk
  454. cache.  For DOS, Smartdrv (in your DOS directory) or HyperDisk (by
  455. HyperWare) are excellent disk caches.  For OS/2, mail tossing works best on
  456. a HPFS drive with a fairly large CACHE specified (I have a 2 meg cache).
  457. Please see your manuals for installation of this software.
  458.  
  459. BE FOREWARNED - A write behind (lazy-write) cache is not for everyone.
  460. There are hazards to a write behind cache.  They function by storing
  461. recently written data to memory, and it is eventually written to disk.
  462. If your system is unstable - or if you have frequent power outages
  463. (without a UPS), I do not recommend using a write-behind cache.
  464.  
  465.                   !!!USE THEM AT YOUR OWN RISK!!!
  466.  
  467. If you decide not to use a write-behind disk cache, a "normal" cache will
  468. help immensely as well.
  469.  
  470.  
  471.                           Platform Specific Tips
  472.                           ----------------------
  473.  
  474. CDRMAIL is available in four formats.  The DOS 16-bit version, the DOS
  475. 32-bit version, the OS/2 32-bit version, and the Win95 32-bit versions.  I
  476. *highly* recommend that you use the version intended for your platform.
  477. The DOS versions will run fine under OS/2 and Win95, but software native to
  478. your operating system always runs faster than non-native software.
  479.  
  480. DOS 16-bit:
  481.     Not too much to say here, other than it likes a disk cache.  (See
  482. above.)  If you have any tidbits, please send them to me, and I will
  483. include them in the next release, with appropriate credit to you.
  484.  
  485.  
  486. DOS 32-bit:
  487.     This one was originally designed for Win95 systems before a native
  488. Win95 version was available.  It requires what is called a DOS extender by
  489. the name of DOS4GW.EXE.  If you have this program on your computer, just
  490. make sure it's somewhere in your path.  If you do not have this program,
  491. you can FREQ it from my system as "DOS4GW.EXE" (imagine that <G>).
  492.  
  493.     Since DOS4GW.EXE must be loaded up before CDRMAIL runs, this version
  494. may actually run slower on some systems.  If you have a LOT of message
  495. bases (I'd say over 300), and you run a DOS based system (or DESQVIEW),
  496. this version may run faster than the 16-bit.  Otherwise, because of the
  497. loadup and exit time required by the extender, I believe it's actually
  498. slower than the 16-bit.
  499.  
  500.     If you use the 32-bit DOS version, and you like it more than 16-bit,
  501. PLEASE let me know.  Otherwise, this version will be discontinued in version
  502. 1.06.
  503.  
  504.  
  505. OS/2 32-bit:
  506.     All I can really say about this is it FLIES.  It appears to run faster
  507. in a OS/2 fullscreen session than an OS/2 window.  Since Renegade is
  508. currently a DOS program, you may be wondering "how do I run an OS/2 tosser,
  509. like CDRMAIL, when Renegade is a DOS program?".  There are two answers.
  510.  
  511. A) Use 4DOS and 4OS2.  I, unfortunately, do not know use these
  512. applications, so I do not know the specifics as to how to use it.
  513.  
  514. B) Use a program by Hank Kelder called HSTART.  HSTART can spawn OS/2 and
  515. DOS windows from OS/2 and DOS windows.  You can get a hold of HSTART off of
  516. the InterNet.  Look for HSTART05.ZIP (the most recent version as of this
  517. writing).  You can also FREQ it from my system as HSTART05.ZIP.
  518.  
  519. In my Renegade directory, I have these files:
  520.  
  521. @echo off
  522. REM CDRMAIL.BAT - DOS batch file that DOS programs call to start CDRMAIL/2
  523. hstart "CDRMail/2" /wait /fs d:\renegade\cdrmail.cmd %1 %2 %3 %4 %5 %6 %7 %8 %9
  524.  
  525. @echo off
  526. REM CDRMAIL.CMD - OS/2 batch file that is called by CDRMAIL.BAT
  527. REM If you use an OS/2 mailer and/or OS/2 mail tosser, this is not
  528. REM necessary.
  529. cd \renegade
  530. cdrmail2.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
  531. hwait
  532. exit
  533.  
  534. Everytime I call CDRMAIL, I call it just like I would if it was a DOS
  535. program.  For example, my toss batch file (TOSS.BAT) has this:
  536.  
  537. CALL CDRMAIL.BAT -T -D -X -GD:\IM\GECHO
  538.  
  539. If you use this method, you MUST CALL CDRMAIL.BAT.  Otherwise execution
  540. will stop where CDRMAIL.BAT is loaded.
  541.  
  542.  
  543. Win95 32-bit:
  544.     From my limited Win95 expertise, all I know is you just use the Win95
  545. version just like you would the DOS version, in a DOS box.  It runs just
  546. like the DOS executable, only faster.  If you have any special tidbits,
  547. please let me know, and I'll add them (with credit) to a future version.
  548.  
  549.  
  550.                               Time Estimation
  551.                               ---------------
  552.  
  553. CDRMAIL calculates the local time from the DOS environment variable TZ.
  554. Most BBS's should have this variable set already, since many popular
  555. programs make use of it.  If you do not currently use TZ, and are not
  556. located in the eastern time zone (see note #2), the TZ environment variable
  557. is not very difficult to add.
  558.  
  559. The TZ variable is in the following format:
  560.  
  561.       xxxNyyy
  562.  
  563. Where xxx is your time zone (ex: EST), N is the time zone difference between
  564. your zone and Greenwich, and yyy is the your time zone initials if/when you
  565. observe Daylight Savings time.  The yyy is not necessary - if it is omitted,
  566. it simply means you do not observe Daylight Savings time and the time
  567. will not be adjusted.
  568.  
  569. Set the variable in your AUTOEXEC.BAT, by adding:
  570.  
  571.       SET TZ=xxxNyyy
  572.  
  573. substituting xxxNyyy with your settings, of course.  For example, in my
  574. AUTOEXEC.BAT, I have:
  575.  
  576. SET TZ=EST5EDT
  577.  
  578.  
  579. Note 1: If you are unsure what amount of time zone difference there is
  580. between your location and Greenwich, consider that the setting for Eastern
  581. Standard Time is EST5EDT.  If you live in California, you are three hours
  582. behind EST, so you would use PST8PDT.
  583.  
  584. Note 2: If TZ is not present, CDRMAIL assumes TZ=EST5EDT.
  585.  
  586.  
  587.                                 Error levels
  588.                                 ------------
  589.  
  590. CDRMAIL does support DOS error levels.  They are listed in the following
  591. table:
  592.  
  593. ERROR LEVEL        Meaning
  594. =============================================================================
  595.    0           Normal Completion - No errors encountered.
  596.    1           If -E is used, this indicates only Netmail was exported.
  597.    3           Insufficient memory to process mail.  Mail was NOT processed.
  598.    5           File not found.  A file CDRMAIL was searching for could not
  599.                be found.  Some mail processing may have occurred before
  600.                this error.  This could be a user problem or an internal
  601.                problem with CDRMAIL.
  602.   10           User Break (Ctrl-Break) or internal error.  The user has
  603.                terminated CDRMAIL, or CDRMAIL has detected an internal
  604.                error.
  605.  
  606. Since every process in CDRMAIL is logged (if enabled), if you check your
  607. log file you will see exactly what when wrong and when.  I implemented the
  608. error levels just for those who may want them/are able to handle them in
  609. BATCH files :)
  610.  
  611. Note that unlike Renemail, there is no error-level if CDRMAIL "chokes" on a
  612. message because CDRMAIL does not choke on messages.  Nor does CDRMAIL "hang"
  613. either.  (If it does either, there is an internal problem with CDRMAIL.)
  614.  
  615. There is no easy for CDRMAIL to determine if a message is really garbled
  616. or not.  So any garbled messages, if any, will be imported, as they are.
  617.  
  618.  
  619.                                Registration
  620.                                ------------
  621.  
  622. CDRMAIL is Shareware.  Not the -normal- Shareware, because I do *NOT*
  623. require registration.  If you want to register CDRMAIL, I will be more than
  624. happy to accept it. :)
  625.  
  626. However, until CDRMAIL is registered, it will display "UNREGISTERED" in a
  627. couple of places, and a ten second delay will occur upon successful
  628. completion of CDRMAIL after the 10 day evaluation period.
  629.  
  630. Registration is a one time deal with CDRMAIL.  A registration now will work
  631. with ALL versions of CDRMAIL (16/32 DOS, OS/2, and Win95), and all future
  632. versions of CDRMAIL.
  633.  
  634. Registration of CDRMAIL costs only US$10.00.  Considering the amount of time
  635. I have put into CDRMAIL, and how useful and efficient it is, I consider this
  636. to be a small price to pay for the performance gained.  Upon registration:
  637.  
  638. 1) You will receive a registration key;
  639. 2) You will be supporting the shareware concept;
  640. 3) You will be encouraging me to write more utilities; and
  641. 4) All unregistered "features" will be removed.
  642.  
  643. To register, please print this form and mail it with your check or money
  644. order to:
  645.  
  646.             CHARLES D. GAEFKE
  647.             PO BOX 257
  648.             CECIL, PA  15321
  649.  
  650. I will process your order for CDRMAIL upon receipt, and will deliver it
  651. immediately using the method you have specified.
  652.  
  653. International orders welcomed!  All personal checks, however, must be drawn
  654. in US funds on a US bank.  Canadian residents may obtain a money order in US
  655. funds at their local bank or post office.  Other countries please inquire at
  656. your local bank or postal office about an International Money Order (IMO).
  657.  
  658.                                 (cut here)
  659. ---------------------------------------------------------------------------
  660. Registration form for CDRMAIL version 1.05.
  661.  
  662.  
  663.   Your REAL name:
  664.  
  665.       Address #1:
  666.  
  667.       Address #2:
  668.  
  669. City, State, Zip:
  670.  
  671.          Country:
  672.  
  673.  
  674. I can send you your registration key two ways:
  675. 1) I can crash it to you via Netmail if you have an address that I have a
  676.    nodelist for.
  677. 2) I can call your BBS and upload it (please leave data phone #).
  678.  
  679. Preference:
  680.  
  681.  
  682. These are not required, but I would appreciate you filling them out so I
  683. know exactly what types of systems CDRMAIL is running on.
  684.  
  685. Hardware
  686.              CPU:            RAM:
  687.  
  688. Operating system:
  689.  
  690. Version of CDRMAIL you are using (DOS, OS/2, Win95):
  691.  
  692. Why are you registering CDRMAIL?
  693.  
  694.  
  695.  
  696.  
  697.  
  698. Enclosed is $____.
  699.  
  700.    [ ] Check      [ ] Money Order   [ ] International Money Order (IMO)
  701.  
  702. By signing below, I agree that by registering this program, I am in no way
  703. purchasing and am in no way granted partial ownership or rights to CDRMAIL.
  704. I am paying for a non-transferable license to use CDRMAIL on my system
  705. indefinitely and to support the author and the shareware marketing concept.
  706. In return for my payment, however, I expect to receive a registration key
  707. which will disable any unregistered "features" of CDRMAIL.
  708.  
  709. Signature: ______________________________   Date:  __/__/__
  710.  
  711. Please make check or money order payable to Charles D. Gaefke.
  712.  
  713. ---------------------------------------------------------------------------
  714.  
  715.  
  716.                                 Bug Reports
  717.                                 -----------
  718.  
  719. At the present time, there are no known bugs in CDRMAIL.  Although, a
  720. wise man once stated: "Is a program every really truely bug free?"
  721.  
  722. So...
  723.  
  724. In the event that another bug is found, however, please let me know!  For
  725. me to fix it, I will require as much information as you can give me.  So,
  726. when contacting me about a bug, please fill out the CDRMAIL.BUG file
  727. included in this archive, and send it to me, either via EMail
  728. (cdgaefke@sgi.net), Netmail at 1:129/230, or post it in any RGSNet echo.
  729.  
  730.  
  731.                                How It Works
  732.                                ------------
  733.  
  734. Special notes on how CDRMAIL functions, for those who may be curious, and
  735. are familiar with how Renegade works:
  736.  
  737.  
  738. Q. How does CDRMAIL distinguish what Netmail messages to import?
  739.  
  740. A: First it checks the origin address of the netmail message to see if it
  741. is from one of your AKA (specified in your Renegade setup).  If no match is
  742. found, it checks the destination address for a match against your AKA's.
  743. If one is found, CDRMAIL checks the destination name against your user
  744. database.  If a match is found, it is imported for that user.  If not, it
  745. is still imported, but for user #1.
  746.  
  747.  
  748. Q. What is the HI_WATER.MRK file in all of my echomail directories?
  749.  
  750. A. CDRMAIL uses the HI_WATER.MRK file to keep track of what messages have
  751. been imported (so that it does not import them again).  The HI_WATER.MRK
  752. file contains the number of the last message imported.
  753.  
  754.  
  755. Q. How does CDRMAIL import messages?
  756.  
  757. A: First CDRMAIL checks for a match to the filespec (*.MSG) for the area.
  758. If a match is found, CDRMAIL checks the HI_WATER.MRK file (see above),
  759. reading the number of the last message imported, and the date/time stamp of
  760. it.  CDRMAIL then checks to see if that message exists and IF it has the
  761. same date/time stamp as the HI_WATER.MRK indicates.  If a match is made,
  762. CDRMAIL starts importing at the next message (if it exists).  If there is
  763. no match, CDRMAIL starts importing at 2.MSG (1.MSG if "-1" or "-2" is used;
  764. if "-1" or "-2" is used and 1.MSG is not found, it goes to 2.MSG).  *IF*
  765. 1.MSG or 2.MSG is not the first message, THERE WILL BE AN ERROR!  Mail
  766. tossers toss from 1.MSG or 2.MSG on - therefore if *.MSG is found, CDRMAIL
  767. assumes the first message is 2.MSG (or 1.MSG).  CDRMAIL keeps importing, as
  768. long as the next message exists.  That means if you 2.MSG, 3.MSG, and 5.MSG
  769. in your directory, CDRMAIL will import #2, #3, see that #4 does not exist,
  770. stop there.
  771.  
  772. Note that I could add a search and sort algorythm to find all the .MSG files
  773. and process in the proper order, so that there can be gaps in your "MSG count".
  774. However that would require additional overhead and slow CDRMAIL down.
  775.  
  776. The ONLY exception to this is when CDRMAIL processes Netmail.  When CDRMAIL
  777. processes Netmail, it reads the numbers of all the messages (since they can
  778. vary in number), and sorts them out.  CDRMAIL then processes them one at a
  779. time, in the order then exist.  Note that if, by chance, one of the netmail
  780. messages is deleted (such as on a multi-node system that just sent/received
  781. a mail call) before CDRMAIL processes it, and after CDRMAIL acknowledges it
  782. is there, CDRMAIL will give an error, and abort.  However next time CDRMAIL
  783. runs, things will proceed as normal with no data lost.
  784.  
  785.  
  786. Q. How does CDRMAIL purge messages?
  787.  
  788. A. If -D (purging) is used with -T, CDRMAIL purges *ONLY* if messages are
  789. imported.  If not, CDRMAIL does not check to see if there are messages to
  790. be purged.  If -D is used by itself, CDRMAIL deletes any match it finds to
  791. the *.MSG specification, one at a time (unfortunately I have found no way
  792. to purge them all at once, such as "DEL *.MSG"), as it finds them.
  793.  
  794.  
  795. Q. How does CDRMAIL export message?
  796.  
  797. A.  This is relatively self-explanatory, but I have included it because I
  798. have the other 3 main functions in here.  :) Unless the "-A" parameter is
  799. used, CDRMAIL checks each base for the "marker" indicating it has messages
  800. that are not sent.  When it finds one, it searches through all the messages
  801. until it finds one that is unsent (and validated), and exports it to the
  802. next .MSG number.  That is, if you have 2.MSG-100.MSG in your directory
  803. when CDRMAIL exports, CDRMAIL will start exporting as 101.MSG, then
  804. 102.MSG, etc.  If the "-A" parameter is used, CDRMAIL checks every base for
  805. any message that has not been sent (and is validated).
  806.  
  807.  
  808. Q. What is the CDRMAIL.DAT I have in my Renegade directory?
  809.  
  810. A. The CDRMAIL.DAT contains all the data CDRMAIL needs from your message
  811. base info (MBASES.DAT).  If you will compare the size of the two, you will
  812. see there isn't much from the MBASES.DAT that CDRMAIL needs.  With this in
  813. mind, CDRMAIL can run faster because it doesn't have access everything in
  814. the MBASES.DAT (whether it read the whole thing into memory or if it
  815. "jumps" through it finding what it needs).  In the CDRMAIL.DAT is a
  816. date/time stamp of the MBASES.DAT when CDRMAIL was last executed.  When
  817. CDRMAIL runs, it compares that date/time stamp to the one on the
  818. MBASES.DAT.  If it is different, CDRMAIL assumes the MBASES.DAT has been
  819. changed, and a new CDRMAIL.DAT is created with a new date/time stamp
  820. reflecting the new MBASES.DAT in it.
  821.  
  822. If you are using the "-G" parameter, the CDRMAIL.DAT also contains the
  823. date/time stamp of your AREAFILE.GE plus all the info CDRMAIL needs from
  824. that data file.
  825.  
  826.  
  827. Q.  What are kludge lines?
  828.  
  829. A.  Kludge lines are "hidden" lines in messages.  Not all echomail messages
  830. have them, but virtually all Netmail messages do have them.  They contain
  831. control information about the message, including destination and origin
  832. addresses, and message flags, such as "truncate file sent".
  833.  
  834.  
  835. Q.  What kludge lines does CDRMAIL support?
  836.  
  837. A.  Currently, CDRMAIL support four kludge lines:
  838. MSGID: for use with origin zone address
  839. INTL: for use with origin zone and destination zone address
  840. TOPT: for use with destination point address
  841. FMPT: for use with origin zone point address
  842.  
  843.  
  844. Q.  How does CDRMAIL determine if 1.MSG is a message or a "high water mark"?
  845.  
  846. A.  Squish and GEcho use a format for their 1.MSG high water marks that are
  847. very similar.  They both have the private, received, and sent flags turned
  848. on, as well as the very first line containing the words "NO ECHO".  Those
  849. are the qualifications CDRMAIL uses - if a message meets those attributes,
  850. then it is not imported.  Otherwise, it is.
  851.  
  852.  
  853.                          Miscellaneous Information
  854.                          -------------------------
  855.  
  856. This is the third 'official' release of a program for me.  My first was
  857. GEMC, a program to keep a daily record of imported messages from GEcho.
  858. The second was RGNSHOW, a program to reflect the status of other nodes from
  859. the command line.  There are more programs in the making (that I do not
  860. care to reveal at the moment) , and still more ideas I have not started
  861. yet.
  862.  
  863. In case anyone is wondering, CDRMAIL stands for CD's Renegade MAIL
  864. processor.
  865.  
  866. I am in no way affiliated with any group or company.  I author alone.
  867.  
  868. CDRMAIL was compiled with Watcom C++ v 10.6.
  869.  
  870. Source code (approx 2500 lines amounting to 92k) is NOT available for sale
  871. or study.
  872.  
  873. If a new Renegade is released with modified structures, I will update
  874. CDRMAIL as soon as I get the structures for the upgraded Renegade.
  875.  
  876. The latest version of CDRMAIL can always be FREQed as 'CDRMAIL' from
  877. 50:530/1 or 1:129/230, my BBS.  CDRMAIL can also be downloaded off of
  878. either of my official websites to Matt Perrotti) at
  879. http://www.lm.com/~mtp/cdrmail.html or http://www.musc.edu/meducare/rg.htm
  880. and you may find it on a FTP site, uploaded by someone other than myself.
  881.  
  882.  
  883.                                   Credits
  884.                                   -------
  885.  
  886. My thanks to Watcom for their IDE interface.  Without it I would be lost.
  887. Many thanks to Cott Lang for Renegade - the best BBS around.  Thanks
  888. to Patrick Spence for his advice and letting me know what the future
  889. of Renegade holds.
  890.  
  891. Merci beaucoup to my girlfriend Tasha for listening to all my gripes and
  892. complaints when things did not go the way they should while programming.
  893.  
  894. Many thanks to all of my Beta testers, whos names appear in alphabetical
  895. order:
  896.  
  897. Robert Colbert, Richard Cooper, Joshua Ecklund, Andrew Fuller (Shanarra),
  898. Benjamin Hannon, Chris Mangus, Scott Mayall, Lost Mind, Matt Perrotti,
  899. Jeff D. Roesner (Rotten), Patrick Spence, and the rest of them who did
  900. not give me their names. :)
  901.  
  902. Special thanks to Matt Perrotti and Richard Cooper for putting CDRMAIL
  903. on their web pages.  Special thanks to Lost Mind for pointing out several
  904. problems with CDRMAIL and offering many suggestions.
  905.  
  906. And of course, thanks to all of you who have registered CDRMAIL:
  907. Matt Perrotti, Joshua Ecklund, Jeff Roesner, and the rest of you who have
  908. your registrations all filled out but have not mailed it yet. :)
  909.  
  910.  
  911.                   Suggestions, Questions, and/or Comments
  912.                   ---------------------------------------
  913.  
  914. Questions, technical support and comments about CDRMAIL, or any of my
  915. software, may be sent to me via netmail at 1:129/230@Fidonet.org or
  916. 50:530/1@RGSNet.  Currently my EMail address is cdgaefke@sgi.net, but that
  917. may change within a month from this release.  I am also reachable in all of
  918. the RGSNet echos.  Or, if you prefer, you can snailmail me at
  919.  
  920. LOTL/2
  921. c/o Charles Gaefke
  922. PO Box 257
  923. Cecil, PA  15321
  924.  
  925. -C. Gaefke, 17 Novemeber 1996
  926.