home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / OFFLINE / MM3DEMO.ZIP / MM3DOC.ZIP / MM3DOC.TXT < prev    next >
Text File  |  1994-03-19  |  75KB  |  1,630 lines

  1.       ╔═══════════════════════════════════════════════════════════════╗
  2.       ║                                                               ║
  3.       ║                                                               ║
  4.       ║                                                               ║
  5.       ║                                                               ║
  6.       ║                                                               ║
  7.       ║                                                               ║
  8.       ║                                                               ║
  9.       ║                                                               ║
  10.       ║                                                               ║
  11.       ║                                                               ║
  12.       ║                                                               ║
  13.       ║                                                               ║
  14.       ║                      THE MAINMAIL SYSTEM                      ║
  15.       ║                                                               ║
  16.       ║                           Version 3                           ║
  17.       ║                                                               ║
  18.       ║                                                               ║
  19.       ║                                                               ║
  20.       ║                                                               ║
  21.       ║                                                               ║
  22.       ║                                                               ║
  23.       ║                                                               ║
  24.       ║                                                               ║
  25.       ║                                                               ║
  26.       ║                                                               ║
  27.       ║                                                               ║
  28.       ║                                                               ║
  29.       ║                                                               ║
  30.       ║                                                               ║
  31.       ║                                                               ║
  32.       ║                                                               ║
  33.       ║                                                               ║
  34.       ║                                                               ║
  35.       ║                                                               ║
  36.       ║                                                               ║
  37.       ║                                                               ║
  38.       ║                                                               ║
  39.       ║                                                               ║
  40.       ║                                                               ║
  41.       ║                                                               ║
  42.       ║                                                               ║
  43.       ║                                                               ║
  44.       ║                                                               ║
  45.       ║                                                               ║
  46.       ║                                                               ║
  47.       ║                                                               ║
  48.       ║                                                               ║
  49.       ║                                                               ║
  50.       ║                                                               ║
  51.       ║             Copyright (c) 1990-1993, The Main Shop            ║
  52.       ║                        By: Anthony Summy                      ║
  53.       ║                                                               ║
  54.       ╚═══════════════════════════════════════════════════════════════╝
  55.  
  56.        
  57.       ╔═══════════════════════════════════════════════════════════════╗
  58.       ║                                                               ║
  59.       ║            Copyright (c) 1990-1993,  The Main Shop            ║
  60.       ║                                                               ║
  61.       ║                                                               ║
  62.       ║                                                               ║
  63.       ║                      ALL RIGHTS RESERVED                      ║
  64.       ║                                                               ║
  65.       ║                                                               ║
  66.       ║                         Anthony Summy                         ║
  67.       ║                P.O. Box 4284, Orange, CA 92613                ║
  68.       ║                         (714)288-1411                         ║
  69.       ║                                                               ║
  70.       ║                                                               ║
  71.       ║                                                               ║
  72.       ║       Portions Copyright 1984-1989, FairCom Corporation       ║
  73.       ║     Portions Copyright 1988-1993, GAP Development Company     ║
  74.       ║                                                               ║
  75.       ╚═══════════════════════════════════════════════════════════════╝
  76.  
  77.  
  78.  
  79.  
  80.  
  81. The Main Shop, Markmail For GAP, and The MainMail System are
  82. trademarks of The Main Shop and Anthony Summy.  No right or interest
  83. to such trademarks is granted herein.  You agree that no right or
  84. claim shall be asserted by you, and you shall not use these trademarks
  85. except as provided by the terms of this contract.  The MainMail System
  86. Software is copyrighted by The Main Shop and Anthony Summy.
  87.  
  88.  
  89.  
  90.   - GAP is a trademark of GAP Development Co.
  91.   - PXZIP/PKUNZIP are trademarks of PKWARE inc.
  92.   - DSZ is a trademark of Omen Technologies, Inc.
  93.   - PCRELAY and POSTLINK are trademarks of Kip Compton.
  94.   - NOVELL is a trademark of Novell, Inc.
  95.   - C-TREE is a trademark of FairCom corporation.
  96.   - RELAYNET is a trademark of the RIME Network.
  97.   - INTELEC is a trademark of The Intelec Network.
  98.   - HS/Link is a trademark of Samuel Smith.
  99.  
  100.  
  101.  
  102. The MainMail System Software and this documentation are copyrighted
  103. material.  No copies of this documentation may be made without the
  104. expressed written consent of The Main Shop.
  105.  
  106.                                 CONTENTS
  107.  
  108.  
  109.  
  110. INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
  111.      Description. . . . . . . . . . . . . . . . . . . . . . . . . . .  4
  112.      Features . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
  113.      Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  114.      What You Get . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  115.  
  116. GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
  117.      Your MainMail Package. . . . . . . . . . . . . . . . . . . . . .  6
  118.      Files Created By MainMail. . . . . . . . . . . . . . . . . . . .  7
  119.      Additional Files Needed. . . . . . . . . . . . . . . . . . . . .  7
  120.  
  121. INSTALLATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  8
  122.      Quick Start Installation . . . . . . . . . . . . . . . . . . . .  8
  123.      Optional GAP Directory Configuration . . . . . . . . . . . . . . 10
  124.  
  125. DOOR OPERATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
  126.      General Operation. . . . . . . . . . . . . . . . . . . . . . . . 11
  127.      Command Line Parameters. . . . . . . . . . . . . . . . . . . . . 11
  128.      Setting Up Networks. . . . . . . . . . . . . . . . . . . . . . . 11
  129.      Multi-Node Operation . . . . . . . . . . . . . . . . . . . . . . 12
  130.      Local Operation. . . . . . . . . . . . . . . . . . . . . . . . . 12
  131.      Unattended Operation . . . . . . . . . . . . . . . . . . . . . . 12
  132.      Echo Network Operations. . . . . . . . . . . . . . . . . . . . . 13
  133.      Desqview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
  134.      Memory Requirments . . . . . . . . . . . . . . . . . . . . . . . 13
  135.      PreExtracting Mail . . . . . . . . . . . . . . . . . . . . . . . 14
  136.  
  137. CONFIGURATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  138.      The MMSETUP Program. . . . . . . . . . . . . . . . . . . . . . . 15
  139.      Running MMSETUP. . . . . . . . . . . . . . . . . . . . . . . . . 15
  140.      The General Configuration Screen . . . . . . . . . . . . . . . . 16
  141.      Setting Message Limits By Baud Rate. . . . . . . . . . . . . . . 18
  142.      Configuring Compression Methods. . . . . . . . . . . . . . . . . 19
  143.      Configuring File Transfer Protocols. . . . . . . . . . . . . . . 20
  144.      Configuring Networks . . . . . . . . . . . . . . . . . . . . . . 21
  145.      Configuring Forums . . . . . . . . . . . . . . . . . . . . . . . 22
  146.      The User File Editor . . . . . . . . . . . . . . . . . . . . . . 24
  147.  
  148. APPENDIXES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
  149.  
  150. LICENSE AGREEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . 33
  151.  
  152. SATISFACTION GUARANTEE. . . . . . . . . . . . . . . . . . . . . . . . 34
  153.  
  154.                               INTRODUCTION
  155.  
  156.       Description
  157.       -----------
  158. The MainMail System is an off-line mail door for GAP 6.x BBS systems. The
  159. MainMail System allows your users to log onto your GAP BBS system, collect
  160. all new messages from their selected forums, all new bulletins, and a list
  161. of new files into a packet to download.  Then off-line, users can use any
  162. one of dozens of "QWK" compatible readers to read and reply to their
  163. messages.  Logging on to your system again, they use The MainMail System
  164. to upload their replies.
  165.  
  166. In addition, The MainMail System can be used as a 'hub' for QWK network
  167. mail systems using your GAP BBS as their network hub.  Using the 'net
  168. status' feature of The MainMail System, a user will be entitled to
  169. 'network' style packets through The MainMail System door.
  170.  
  171.  
  172.       Features
  173.       --------
  174. 1.    The MainMail System is fast!  The MainMail System will collect and
  175.       compress a mail packet five to ten times faster than UTI driven mail
  176.       doors.
  177.  
  178. 2.    The MainMail System has BIG capabilities in a small package.  The
  179.       MainMail System is written totally in C with communication routines
  180.       written totally in assembly.  The MainMail System's highly buffered
  181.       COM routines support up to 115,200 bps effortlessly.
  182.  
  183. 3.    The MainMail System reads DIRECTLY from, and writes DIRECTLY to the
  184.       GAP ISAM data files and the GAP configuration instead of requiring a
  185.       UTI driver or other interface utility.  
  186.  
  187. 4.    The MainMail System's file I/O routines are highly buffered so disk
  188.       accesses are kept to a minimum.  
  189.  
  190. All of the above features are what give The MainMail System its speed.
  191.  
  192.       The MainMail System gives your users valuable features:
  193.  
  194.       - Auto logoff or return to bbs after downloading or uploading.
  195.       - Sysop can PreExtract messages for any user(s).
  196.       - Quick forum selection and pointer update from the same menu.
  197.       - Item configuration off-line using messages to MainMail.
  198.       - One step pointer backdating to recover previous messages.
  199.       - Attached files to messages when using supported readers.
  200.       - Bi-directional file transfers.
  201.       - Offline session support for use in an event.
  202.       - Network support for mail tossers using MainMail as a hub.
  203.       - 'Priority' forums allow users to select forums to extract first.
  204.       - Sysop can 'Force' or 'Auto-Select' any forum(s).
  205.       - Up to 20 file transfer protocols, including bi-directional.
  206.       - Up to 20 compression methods.
  207.       - Sysop may 'group' forums by network.
  208.  
  209.       - Sysop 'chat' feature for online user help.
  210.       - Full support for GAP's special 'AnsiCmd' replaceable parameters.
  211.       - Full on-line help system.
  212.       - Logging of all activities to the GAP caller logs.
  213.       - User may configure MANY items to suit his/her preferences.
  214.       - List of new files uploaded to your BBS.
  215.       - New bulletins updated since the last mail run.
  216.       - Plus more....
  217.  
  218.  
  219.       Support
  220.       -------
  221. Support is foremost in my mind!  That is why the support numbers are here
  222. in the front of the manual.  I will strive to correct any problems as soon
  223. as possible, usually within 24 hours.  Feel free to contact me for any
  224. reason.
  225.  
  226.            Anthony Summy
  227.            PO Box 4284
  228.            Orange, CA  92613
  229.            (714) 288-1411 (Evenings & Weekends)
  230.  
  231.            The Main Shop BBS
  232.            Home of The MainMail System
  233.            Sysops: Tony Summy & Frank Hagan
  234.            (714) 288-1320 (HST 16,800 or v.32bis)
  235.  
  236.  
  237. In addition, we host a support forums on the Relaynet International
  238. Message Exchange (RIME) network, national channel number 231, and the
  239. Intelec(tm) network.  The author monitors and moderates these forums from
  240. the home of MainMail, The Main Shop and is always available there.
  241.  
  242.  
  243.       What You Get
  244.       ------------
  245. Purchasers of The MainMail System are entitled to one (1) year of
  246. unlimited support from The Main Shop, either by voice or from our BBS in
  247. the MainMail Support forum #1.  After the first year, support can be
  248. renewed in one year increments for a nominal charge.  See the bulletin
  249. area on The Main Shop BBS for details.
  250.  
  251. In addition to the support described above, purchasers of The MainMail
  252. System are entitled to free and unlimited upgrades of the software for the
  253. first year, or as long as your support is current.  Updates can be
  254. obtained from The Main Shop BBS in the MainMail Support forum, forum #1.
  255. Your support must be current in order to obtain updates.
  256.  
  257. At present, we do not charge any additional fees for upgrades, either
  258. minor or major.  We do, however, reserve the right to change this policy
  259. at any time.
  260.  
  261.                             GETTING STARTED
  262.  
  263. There are a few thing you must know prior to installing The MainMail
  264. System.  First and foremost, there are two versions of The MainMail
  265. System, and you MUST have the correct version of the door or you will
  266. permanently and irreparably damage your GAP data files.  If you are
  267. running the single node version of GAP, you MUST use the single node
  268. version of The MainMail System.  If you are running the multi-node version
  269. of GAP, you MUST use the multi-node version of The MainMail System.
  270.  
  271.             DO NOT RUN THE INCORRECT VERSION OR PERMANENT 
  272.            DAMAGE TO YOUR GAP ISAM DATA FILES WILL RESULT!!
  273.  
  274.  
  275.       Your MainMail Package
  276.       ---------------------
  277. 1.    MM3MULT.ZIP contains the multi-user executable files.
  278. 2.    MM3SING.ZIP contains the single-user executable files.
  279. 3.    MM3PACK.ZIP contains the user file pack utility.
  280. 4.    MM3HELP.ZIP contains the HELP files.
  281. 5.    MM3GEN.ZIP contains the sample menu and news files.
  282. 6.    MM3DOC.ZIP - ASCII Text documentation.
  283. 7.    MM2TO3.ZIP - For upgrading previous versions. (Not in the DEMO)
  284. 8.    REGISTER.FRM - Registration form.  (Only in the DEMO)
  285. 9.    MMSYS.DAT - Your encrypted registration KEY file.
  286.  
  287.  
  288.  
  289.       MM3MULT.ZIP or MM3SING.ZIP contain:
  290.       -----------------------------------
  291. 1.    MM-GAP.EXE - The MainMail Door program itself.
  292. 2.    MMSETUP.EXE - The MainMail Setup Program.
  293.  
  294.  
  295.       MM3PACK.ZIP contains:
  296.       ---------------------
  297. 1.    MMPACK.EXE - The MainMail user file packing and rebuilding utility.
  298.  
  299.  
  300.       MM3GEN.ZIP contains:
  301.       --------------------
  302. 1.    MM-NEWS - This news file will be displayed to all users as they
  303.       enter the door.
  304.  
  305. 2.    MM-NUSER - This new user file will be displayed the first time a
  306.       user opens the door.  Use this file to instruct new users how to
  307.       select forums, compression methods, and file transfer protocols.
  308.  
  309. 3.    MM-MENU - This main menu is displayed at all times unless the user
  310.       has chosen "expert" mode.
  311.  
  312. Note:      All of the 'Gen Directory' files are OPTIONAL.  If they are
  313.            not present, MainMail will function normally.
  314.  
  315.       MM3HELP.ZIP containes:
  316.       ----------------------
  317. 1.    All MainMail help files.
  318.  
  319.  
  320.       Files Created By MainMail
  321.       -------------------------
  322. 1.    MMUSER.DAT and MMUSER.IDX - MainMail maintains these files to keep
  323.       track of your user's various accumulators, last QWK dates, selected
  324.       protocol, and compression methods.  MainMail creates these files
  325.       when you run MMSETUP for the first time.
  326.  
  327. 2.    MMDAT.CNF  - The MainMail System configuration is kept in this file.
  328.       Information such as the protocols and compression formats you have
  329.       set up, paths and names of your MainMail menu and news files, etc.
  330.       On multi-node systems, only one MMDAT.CNF file is needed for all
  331.       nodes if all nodes are configured with identical paths.  The
  332.       MainMail Setup program, MMSETUP, creates this file.
  333.  
  334.  
  335.  
  336.       Additional Files Needed
  337.       -----------------------
  338. In addition to the files included in your MainMail package, you will need
  339. some external programs for The MainMail System to work properly.  You will
  340. need at least one archiving program, and at least one file transfer
  341. protocol.  You can use any one you like, but we have found PKZIP from
  342. Pkware to be the most reliable archiving program, and DSZ from Omen
  343. Technologies, Inc. and HSLINK from Samuel Smith to be about the most
  344. common and most reliable file transfer protocols.
  345.  
  346. 1.    DSZ.COM(or EXE) or HSLINK.EXE - File transfer protocol programs.
  347.       Must be in the path.  While The MainMail System WILL work properly
  348.       if these programs are not registered versions, we advocate and
  349.       encourage registration of ALL shareware products you elect to use.
  350.       If you use either of these programs, PLEASE register them.
  351.  
  352. 2.    PKZIP and PKUNZIP - Compression programs.  Must be in the path.
  353.  
  354. You may use any protocol(s) or compression method(s) you wish.  The above
  355. products are the most commonly used, and are included only as suggestions.
  356.  
  357.                               INSTALLATION
  358.  
  359.  
  360.       Quick Start Installation
  361.       ------------------------
  362. 1.    Create a directory structure similar to the one shown here:
  363.  
  364.       └─ MAINMAIL
  365.            ├─ GEN 
  366.            ├─ HELP
  367.            └─ DUPE
  368.  
  369. This 'tree' can be off of the root of any drive, or below any sub
  370. directory.  The choice is totally up to you.  
  371.  
  372. 2.    Unzip your MainMail archive, or copy your MainMail disk into the
  373.       MAINMAIL directory.
  374.  
  375. 3.    Unzip GEN.ZIP into the GEN directory.
  376.  
  377. 4.    Unzip HELP.ZIP into the HELP directory.
  378.  
  379. When finished, the following files should be present in each of the
  380. respective directories:
  381.  
  382.       MAINMAIL
  383.       --------
  384.       MM-GAP.EXE
  385.       MMSETUP.EXE
  386.       MMPACK.EXE
  387.       MMSYS.DAT
  388.  
  389.       GEN
  390.       ---
  391.       MM-MENU
  392.       MM-NEWS (optional)
  393.       MM-NUSER (optional)
  394.  
  395.       HELP
  396.       ----
  397.       All 'MMHLP-x' files.
  398.  
  399.       DUPE
  400.       ----
  401.       Currently empty.  This directory will be used to store the CRC files
  402.       created by MainMail for duplicate message checking.
  403.  
  404. 5.    Add the following line to your AUTOEXEC.BAT file:
  405.  
  406.       SET GAPCNF=<full path to your GAP default directory for this node>
  407.  
  408. The above environment variable is used by MainMail to find your GAP
  409. default directory.  You should have a 'SET GAPCNF=d:\path' statement in
  410. EACH node's autoexec.bat file if you are running on a network, or in EACH
  411. node's window startup batch file if you are running Desqview.  Each node's
  412.  
  413. environment variable should 'point' to the correct GAP default directory
  414. for THAT NODE!
  415.  
  416. Once this environment variable is added to autoexec.bat, reboot the
  417. machine so that the change takes affect.
  418.  
  419. 6.    Change to the MAINMAIL directory.
  420.  
  421. 7.    Run MMSETUP.
  422.  
  423. 8.    See the CONFIGURATION section of this manual for detailed
  424.       instructions on running MMSETUP and configuring The MainMail System.
  425.  
  426.       THE MAINMAIL DOOR WILL NOT RUN UNTIL IT IS CONFIGURED!
  427.  
  428. 9.    Create a MAINMAIL.BAT file.  The batch file must change to the
  429.       MAINMAIL directory and run the door.
  430.  
  431.  
  432.       Example MAINMAIL.BAT file
  433.       -------------------------
  434.       @ECHO OFF
  435.       D:
  436.       CD\MAINMAIL
  437.       MM-GAP
  438.  
  439. 10.   Edit your DOORS.DAT file and your DOORM(g) menus to reflect the
  440.       addition of The MainMail System to your board.
  441.  
  442.  
  443.       Example DOORS.DAT File
  444.       ----------------------
  445.       MAINMAIL 50 C:\GAP\DOORS\MAINMAIL.BAT
  446.  
  447.       Optional GAP Directory Configuration
  448.       ------------------------------------
  449. As an option, you may intermix your MainMail files in with your GAP files,
  450. and MainMail will not require its own directory.  We have found this to be
  451. an easy way to run MainMail, because there are no special batch files or
  452. config files needed to run MainMail.
  453.  
  454. To configure MainMail this way, do the following....  Reminder, THIS IS
  455. OPTIONAL!  You can set up MainMail this way IF YOU WISH.  Operationally,
  456. it is identical to the method described above.
  457.  
  458.  
  459. 1.    Place all MainMail EXEs into your path.  A good choice would be the
  460.       same place you placed your GAP EXEs.
  461.  
  462. 2.    Place MM-MENU, MM-NEWS, and MM-NUSER into your GAP\GEN directory.
  463.  
  464. 3.    Place all MainMail HELP files into the GAP\HELP directory.
  465.  
  466. 4.    Place MMUSER.DAT, MMUSER.IDX and MMDAT.CNF (if they exist) and
  467.       MMSYS.DAT into your GAP\MAIN directory.
  468.  
  469. 5.    Edit your door batch file so that it does NOT change to the MainMail
  470.       directory before running the door.  (All it needs to do is run the
  471.       door.  Nothing more.)
  472.  
  473. 6.    Change to your GAP default directory and run MMSETUP.  This will
  474.       create MMUSER.DAT, MMUSER.IDX and MMDAT.CNF in the current directory
  475.       if they do not already exist in the GAP\MAIN directory.
  476.  
  477. NOTE:      If you have already run MMSETUP, and have copied the files
  478.            mentioned in step 6 to your GAP\MAIN directory, MainMail will
  479.            automatically find them there.
  480.  
  481. 7.    In the CONFIGURATION/GENERAL screen, change any paths to reflect
  482.       their new locations.  (See the section on CONFIGURING MAINMAIL later
  483.       in this manual).
  484.  
  485. 8.    When finished with MMSETUP, move the three files mentioned in step 6
  486.       into your GAP\MAIN directory.  All MainMail programs will now find
  487.       them there.
  488.  
  489.                              DOOR OPERATION
  490.  
  491.  
  492.       General Operation
  493.       -----------------
  494. When a user enters the MainMail door for the first time, MainMail will
  495. create a record for that user, show the user the MM-NUSER screen, and
  496. automatically select any 'forced' or 'autoselect' forums for all mail.
  497. The user may then choose the '[S]elect Forums' option to flag any
  498. additional forums to include in their download(s).
  499.  
  500. The user may then select [D]ownload or [U]pload and transfer the QWK or
  501. REP respectively.  If [D]ownload is selected, MainMail will first scan any
  502. 'forced' or 'priority' forums, then scan the non-priority forums,
  503. collecting any new messages and compressing them into a QWK file for
  504. download.  If [U]pload is selected, MainMail will immediately begin to
  505. accept the upload of the REP file for insertion into the bbs message
  506. base(s).
  507.  
  508.  
  509.  
  510.       Command Line Parameters
  511.       -----------------------
  512. -D   Start local download
  513. -U   Start local upload
  514. -P   Start preextraction
  515. -N:  User name for local operations (required with any of the above)
  516.  
  517. -D and -U will start a local download or upload respectively.  These two
  518. cannot be used together.  If both are used, -U takes precedence.  A local
  519. download will be placed in the 'Local Downloads' directory specified in
  520. MMSETUP under CONFIG/GENERAL, and if the file already exists, it will be
  521. overwritten.  A local upload will be looked for in the 'Local Uploads'
  522. directory specified in MMSETUP under CONFIG/GENERAL.
  523.  
  524. -P starts a preextraction.  (See section on PreExtraction).
  525.  
  526. All of the above parameters require the use of the -N:<user name>
  527. parameter.  When using -N:, enter the user's name (first and last) that
  528. the local operation is to be performed on.  If the local user is the
  529. sysop, use 'SYSOP' instead of the name.
  530.  
  531.  
  532.  
  533.       Setting Up Networks
  534.       -------------------
  535. MainMail allows you to 'group' your forums by network.  To do so, first
  536. you must set up your networks, then place your forums into their proper
  537. network, both using MMSETUP.  When set up properly, your users will be
  538. shown a menu of networks when they choose the [S]elect option from the
  539. main menu, and if a network is chosen, they will be shown all forums on
  540. their chosen network.
  541.  
  542. Start by adding all networks that you carry.  Use your imagination.  You
  543. can actually group non-network forums into a pseudo network, and your
  544. users will never know the difference.  When you get all of your networks
  545. created using the NETWORK EDITOR in MMSETUP, then place your forums into
  546. their proper networks using the FORUM EDITOR in MMSETUP.  That's all there
  547. is to it.  (See the chapter on CONFIGURING MAINMAIL for details).
  548.  
  549.  
  550.       Multi-Node Operation
  551.       --------------------
  552. There are two versions of The MainMail System, a multi-node version, and a
  553. single-node version.  It is VERY IMPORTANT that you have obtained the
  554. correct version of The MainMail System.  If you have the wrong version,
  555. MainMail will corrupt your GAP ISAM files, or at the very least, produce
  556. 'Share Violations'.  DO NOT USE THE WRONG VERSION! Multi-Node operation is
  557. totally automatic.  MainMail knows which node it is currently operating on
  558. by reading your GAP configuration files.
  559.  
  560.  
  561.       Local Operation
  562.       ---------------
  563. The MainMail System is fully functional in local mode.  If a user or the
  564. Sysop logs onto the BBS at the console, MainMail will treat the user just
  565. as if s/he were logged on from remote.  MainMail will create a packet and
  566. ask for the directory to place the packet.  The default will be the path
  567. pointed to in the MainMail configuration for that node.  (See the
  568. CONFIGURATION section of this manual).
  569.  
  570.  
  571.       Unattended Operation
  572.       --------------------
  573. In addition, the sysop may run MainMail using a totally unattended batch
  574. process.  When run unattended, MainMail will place an auto-downloaded QWK
  575. packet in the local download directory configured in MMSETUP.  Similarly,
  576. MainMail will look for an auto-uploaded REP in the local upload directory
  577. configured in MMSETUP.  (See the chapter on CONFIGURING MAINMAIL for
  578. details).
  579.  
  580. To invoke MainMail to run unattended, change to your MainMail directory
  581. (if you are not already there), and run MM-GAP with either the '-D' or
  582. '-U' command line parameter.  Below are some example batch files for
  583. unattended operation.
  584.  
  585.  
  586. Unattended Upload                     Unattended Download
  587. -----------------                     -------------------
  588. @ECHO OFF                             @ECHO OFF
  589. C:                                    C:
  590. CD\MAINMAIL                           CD\MAINMAIL
  591. MM-GAP -U -N:<user name or 'SYSOP'>   MM-GAP -D -N:<user name or 'SYSOP'>
  592.  
  593.       Echo Network Operations
  594.       -----------------------
  595. Any mail imported through MainMail will automatically be exported through
  596. network software such as PCRELAY or POSTLINK, unless the first three
  597. characters of the SUBJECT field of the message are 'NE:'.  If these
  598. characters are encountered, MainMail will strip the 'NE:' from the
  599. subject, and will mark the message as 'Local' (non-echo) prior to
  600. inserting the message into the GAP message base.
  601.  
  602.  
  603.       Desqview
  604.       --------
  605. MainMail automatically detects the presence of Desqview and routes all
  606. screen writes directly through it.  "Writes directly to screen" can be set
  607. to "NO" and MainMail will not bleed through from the background.
  608.  
  609.  
  610.       Memory Requirments
  611.       ------------------
  612. Memory requirements will vary depending on the number of forums you have
  613. configured in GAP.  The MainMail System dynamically allocates memory at
  614. runtime by reading your GAPBBS.CNF to see how many forums you have, and
  615. allocating only the memory needed to accommodate that number of forums.
  616. The door itself requires approximately 200k, plus about 30 bytes per
  617. forum.  Then add approximately 190k for PKZIP or 64k for DSZ.  MainMail
  618. releases memory from one shell before allocating for another, thus should
  619. never require memory for both shells simultaneously.  In other words, you
  620. will never need BOTH the 190k for PKZIP and the 64k for DSZ
  621. simultaneously.
  622.  
  623.       PreExtracting Mail
  624.       ------------------
  625. MainMail allows you to pre-extract mail for selected users.  This reduces
  626. the amount of time the user is online by placing the user's QWK file in a
  627. special directory, in a pre-prepared form.  When a user opens the MainMail
  628. door, MainMail will check for a preextracted QWK packet, and prompt the
  629. user that s/he has such a packet waiting.  Further operations work as
  630. usual.  When the user selects [D]ownload from the main command prompt,
  631. MainMail skips the message extraction process, and asks the user if s/he
  632. wishes to download the preextracted packet.  All of the prompts are
  633. identical to those that would be present without the preextracted packet.
  634. This will allow seamless operation with scripts whether or not the user
  635. has a preextracted packet waiting.
  636.  
  637. To enable preextraction, you must do two things:
  638.  
  639. 1)    Create a directory to store the preextracted packets.
  640.  
  641. 2)    Set a DOS environment variable 'MMPREPATH' that points to that
  642.       directory.  Example:  (in AUTOEXEC.BAT)
  643.  
  644.       SET MMPREPATH=D:\MAINMAIL\PREEXT
  645.  
  646. Note: MainMail does NOT check for or create the preextracted packet storage
  647.       directory.  The directory must exist or the preextraction system will
  648.       fail.
  649.  
  650. 3)    Do the physical preextraction for the user using the '-P' command
  651.       line parameter.
  652.  
  653. Example:
  654.  
  655.       MM-GAP -P -N:MYBEST USER
  656.  
  657. Note: You can only preextract mail for one user at a time, but you may
  658.       store as many preextracted packets as you have space for. If you wish
  659.       to preextract for more than one user, I would suggest using a batch
  660.       file with each name on a separate line.  For example:
  661.  
  662.       MM-GAP -P -N:FIRSTUSERS NAME
  663.       MM-GAP -P -N:SECONDUSERS NAME
  664.       MM-GAP -P -N:THIRDUSERS NAME
  665.       <etc>
  666.  
  667.       MainMail will store the packet using a combination of the user's last
  668.       and first names, four characters each.  For example, a preextracted
  669.       packet for TONY SUMMY would be stored as SUMMTONY.QWK.
  670.  
  671.       MainMail does NOT update the user's message pointers until a
  672.       preextracted packet is successfully downloaded.  This prevents
  673.       aborted downloads or lost preextracted packets from causing lost
  674.       mail.  If a subsequent preextraction takes place before a user has an
  675.       opertunity to download an existing one, MainMail will simply
  676.       re-extract the same messages, and any new ones, and overwrite the
  677.       existing preextracted packet with the new one.
  678.  
  679.                            CONFIGURATION
  680.  
  681.       The MMSETUP Program
  682.       -------------------
  683. When you run MMSETUP for the first time, it will create three files:
  684. MMDAT.CNF, the MMUSER.DAT and MMUSER.IDX in the current directory.
  685. MMSETUP will configure most common compression methods and file transfer
  686. protocols for you.  We have found these to be the most common methods, so
  687. we simply included them automatically in a new installation.
  688.  
  689. In addition, MMSETUP reads the current directory, configures MainMail to
  690. this path for your MENU, NEW USER, NEWS, HELP and DUPE files.
  691.  
  692.  
  693.       Running MMSETUP
  694.       ---------------
  695. From the MAINMAIL directory, type MMSETUP <enter>.  After the MainMail
  696. copyright notice clears, you will see this menu:  (If this is a new
  697. installation, there will be a delay while MMSETUP creates the necessary
  698. data files, and a window will appear describing the process).
  699.  
  700.  ┌─────────────────────────────────────────────────────────┐
  701.  │  About   Configure   Networks   Forums   Users   Quit   │
  702.  └─────────────────────────────────────────────────────────┘
  703.  
  704.            Here is a description of each selection
  705.  
  706.       About:     Gives you a short description of MMSETUP.
  707.  
  708.       Config:    This is where you configure paths and filenames,
  709.                  Compressions and Protocols.
  710.  
  711.       Networks:  This is where you add or edit your various Networks.
  712.  
  713.       Forums:    This is where you edit your Forum flags.
  714.  
  715.       Users:     This is where your edit your MainMail users file.
  716.  
  717.       Quit:      Exits MMSETUP, saves your changes automatically and
  718.                  returns you to DOS.
  719.  
  720.       The General Configuration Screen
  721.       --------------------------------
  722. ┌─────────────────────────────────────────────────────────────────────┐
  723. │ Sysop's Name In Door                   :  TONY SUMMY                │
  724. │ Location of Help Files                 :  .\HELP\                   │
  725. │ Location of Local Uploads              :                            │
  726. │ Location of Local Downloads            :                            │
  727. │ Location of Dupe Files                 :  .\DUPE\                   │
  728. │ Name/Location of NEWUSER File          :  .\GEN\MM-NUSER            │
  729. │ Name/Location of NEWS File             :  .\GEN\MM-NEWS             │
  730. │ Name/Location of MENU File             :  .\GEN\MM-MENU             │
  731. │ Name/Location of TCAN File             :  .\GEN\MM-TCAN             │
  732. │ Default Compression Method             :  ZIP                       │
  733. │ Default Forum Sort Order               :  NUMERIC                   │
  734. │ Drive to use for Work Directory        :                            │
  735. │ Number of Rep's for Upload Credit      :  0    (0 = No Credit Given)│
  736. │                                                                     │
  737. │                                 Baud   :   300   1200   2400  9600+ │
  738. │ Default Messages per Forum             :   100    200    200   200  │
  739. │ Default Messages per Packet            :   300    400    800  1200  │
  740. │ Maximum Messages per Forum             :   100    200    200   200  │
  741. │ Maximum Messages per Packet            :   300    400   800   1200  │
  742. └─────────────────────────────────────────────────────────────────────┘
  743.  
  744. Most of the entries shown above will be created automatically for you as
  745. defaults when you run MMSETUP for the first time.  You can then simply
  746. overwrite the ones you need to change, and when you exit MMSETUP, the
  747. changes are automatically saved to MMDAT.CNF.
  748.  
  749.  
  750.       Description of each entry in the GENERAL config screen
  751.       ------------------------------------------------------
  752.  
  753. Sysop's Name In Door
  754. --------------------
  755. MainMail converts messages TO or FROM this name to 'SYSOP' when importing,
  756. and converts messages TO or FROM 'SYSOP' to this name when exporting.  
  757. Also, this name is used as the user's name in the door if the user is the
  758. sysop, REGARDLESS of the name in the GAP user file sysop record.  The
  759. default for this field is the name that appears in the first record of the
  760. GAP user file.
  761.  
  762. Location of Help Files
  763. ----------------------
  764. The PATH ONLY to your MainMail "help" files.  Default is \HELP under the
  765. current directory.
  766.  
  767. Location of Local Uploads
  768. -------------------------
  769. The path where your reader places "REP" packets to be uploaded.  This
  770. should be your com program's UPLOAD directory.  Default is blank.  MMSETUP
  771. does NOT create this directory if it does not already exist.
  772.  
  773. Location of Local Downloads
  774. ---------------------------
  775. The path to where your reader expects to find downloaded "QWK" files.
  776. This should be your COM program's download directory.  Default is blank.
  777. MMSETUP does NOT create this directory if it does not already exist.
  778.  
  779. Location of Dupe Files
  780. ----------------------
  781. The MainMail door performs duplicate message checking during import
  782. (upload).  To do so, MainMail saves the 32 bit CRC of each message, and
  783. checks all subsequent messages against this CRC.  This directory is where
  784. MainMail stores the saved CRC files.  There will be one file for each of
  785. your forums, and each file will be a maximum of 4,000 bytes.  Dupe
  786. Checking must be enabled on a forum by forum basis.  See the chapter on
  787. the forum editor for more details.
  788.  
  789. Name/Location of NEWUSER File
  790. -----------------------------
  791. The path and file name of your MainMail "NEWUSER" file.  This screen will
  792. be shown to each user the first time s/he opens the MainMail door.
  793. Default is MM-NUSER in your MainMail GEN directory.  NOTE: The actual file
  794. entered here does not have to exist.
  795.  
  796. Name/Location of NEWS File
  797. --------------------------
  798. The path and file name of your MainMail "NEWS" file.  This screen will be
  799. shown to each user EVERY time s/he opens the door.  Default is MM-NEWS in
  800. your MainMail GEN directory.  NOTE: The actual file entered here does not
  801. have to exist.
  802.  
  803. Name/Location of MENU File
  804. --------------------------
  805. The path and file name of your MainMail "MAIN MENU".  Default is MM-MENU
  806. in your MainMail GEN directory.  NOTE: The actual file entered here does
  807. not have to exist.  (Although, you will likely have some confused users if
  808. you don't have a menu for them. <grin>).
  809.  
  810. Name/Location of TCAN File
  811. --------------------------
  812. The path and file name of your MainMail "TRASHCAN" file.  This is a single
  813. column text file with only a list of names, similar to your GAP "TCAN"
  814. file.  This feature is part of the network access system.  Any messages to
  815. or from a user who's name appears in this file will not be passed to or
  816. from the network.  Default is MM-TCAN in your MainMail GEN directory.
  817.  
  818. Default Compression Method
  819. --------------------------
  820. This is the compression method that will be selected for a NEW MainMail
  821. user, the first time s/he opens the door.  You can not directly edit this
  822. field.  When the cursor is placed on this field, press F5 to pop a pick
  823. list of configured compression methods.  Use the arrow keys to select the
  824. method you wish, and press <enter>.
  825.  
  826. Default Forum Sort Order
  827. ------------------------
  828. When a user chooses the [S]elect Forums option, s/he will be shown a list
  829. of forums.  S/he may also choose the order in which the forums will be
  830. sorted.  This field will be the default for NEW MainMail users, the first
  831. time they open the door.  Valid entries are [A] for alphabetical and [N]
  832. for numerical.
  833.  
  834. Drive to use for Work Dir
  835. -------------------------
  836. MainMail creates a temporary WORK directory the first time it is run.
  837. This entry tells MainMail which drive to create this directory on.  This
  838. can be a network drive, a local drive, a ram-drive, or it can be left
  839. blank.  If left blank, MainMail will create its work directory off of the
  840. current directory.  The directory will be 'MWORK' for single-node systems,
  841. or 'MWORKxx' for multi-node systems, where 'xx' is the node number.
  842. Default is blank.
  843.  
  844. NOTE: MainMail leaves this directory in place when it exits.  This allows
  845.       Novell Network Systems to flag the directory as 'PURGE'.
  846.  
  847. Number Rep's/Upload Credit
  848. --------------------------
  849. This is the number of "REP" packets a user must upload to receive upload
  850. credit.  A value of zero (0) disables this option.  Default is 0.  Any
  851. upload credits will be written back into the GAP user file and become a
  852. permanent part of the user's record.
  853.  
  854.  
  855.  
  856. Setting Message Limits By Baud Rate
  857. -----------------------------------
  858.                                  Baud  :     300  1200  2400 9600+
  859. Default Messages per Forum             :     100  200   200  200
  860. Default Messages per Packet            :     300  400   800  1200
  861. Maximum Messages per Forum             :     100  200   200  200
  862. Maximum Messages per Packet            :     300  400   800  1200
  863.  
  864. These parameters determine the number of message any one user can extract
  865. during a download session.  The defaults (lines one and two) are the
  866. number of messages MainMail will default to for each baudrate listed.  In
  867. the example above, a caller at 1200 baud would be allowed 200 messages per
  868. forum, with a maximum of 400 messages in any one download session.  By the
  869. same token, a user calling at 9600 or higher would be allowed 200 messages
  870. per forum with a session maximum of 1200 messages.  These parameters are
  871. configured by baudrate since it takes longer to download at slower
  872. baudrates.  It makes sense to allow callers at higher baudrates to
  873. download more messages in any one session.  A little bit of
  874. experimentation and you will arrive at the best settings for your system.
  875.  
  876. The second two lines are the maximums that a user can set his own profile
  877. to.  Since MainMail allows the user to set his(her) own defaults, you can
  878. limit his(her) choices to reasonable amounts.  The values shown above are
  879. the defaults as MMSETUP creates them.
  880.  
  881.       Configuring Compression Methods
  882.       -------------------------------
  883. ┌────────────────────────────────────────────────────────────────────────┐
  884. │                                                          Page 1 of 5   │
  885. │  1   Code : ARC  Name      : PKPAK ARC                                 │
  886. │      Compress Cmd Line     : PKPAK                                     │
  887. │      Un-Compress Cmd Line  : PKUNPAK                                   │
  888. │                                                                        │
  889. │  2   Code : ZIP  Name      : PKZIP 2.x                                 │
  890. │      Compress Cmd Line     : PKZIP -en                                 │
  891. │      Un-Compress Cmd Line  : PKUNZIP                                   │
  892. │                                                                        │
  893. │  3   Code :      Name      :                                           │
  894. │      Compress Cmd Line     :                                           │
  895. │      Un-Compress Cmd Line  :                                           │
  896. │                                                                        │
  897. │  4   Code :      Name      :                                           │
  898. │      Compress Cmd Line     :                                           │
  899. │      Un-Compress Cmd Line  :                                           │
  900. │                                                                        │
  901. └────────────────────────────────────────────────────────────────────────┘
  902.  
  903. The above examples of compression methods should be self-explanatory.
  904. Once you decide which methods you wish to offer, you simply enter the name
  905. of the compression method, then the compress and un-compress command
  906. lines. You can configure up to twenty (20) compression methods.  The above
  907. examples are the defaults created by MMSETUP when run for the first time.
  908.  
  909. To delete a compression method, simply erase the CODE field.  Once this
  910. screen is exited, MMSETUP will recognize that the CODE has been erased,
  911. and will delete the compression.
  912.  
  913. While in the Compression Method editor, the following function keys are in
  914. affect:
  915.  
  916.       PgDn = Next Page
  917.       PgUp = Previous Page
  918.  
  919.  
  920. NOTE: When you finish configuring your compression methods, MMSETUP
  921.       will sort them alphabetically.  There is no need to enter them
  922.       in any particular order.
  923.  
  924. NOTE: Choose one of these compression methods as a default for new
  925.       users in the GENERAL configuration screen described earlier in
  926.       this chapter.
  927.  
  928. NOTE: You cannot delete all compression methods.  If you do, you will
  929.       not be able to exit this screen until at least one compression
  930.       method exists.
  931.  
  932.       Configuring File Transfer Protocols
  933.       -----------------------------------
  934. ┌────────────────────────────────────────────────────────────────────────┐
  935. │ #F# - Filename of Packet    #N# - Node Number              Page 1 of 5 │
  936. │ #B# - Com Base Address      #P# - Com Port     #I# - Com IRQ           │
  937. │ #S# - Computer/Modem Speed  #C# - Modem/User 'Connect' Speed           │
  938. │                                                                        │
  939. │ 1   Letter : C   Name : Xmodem CRC                ARQ Req? : N         │
  940. │     Send Command Line : DSZ port #P# sx #F#                            │
  941. │     Recv Command Line : DSZ port #P# rc #F#                            │
  942. │                                                                        │
  943. │ 2   Letter : D   Name : DSZ Zmodem MobyTurbo      ARQ Req? : N         │
  944. │     Send Command Line : DSZ port #P# ha bo pB4096 sz -m #F#            │
  945. │     Recv Command Line : DSZ port #P# ha bo pB4096 rz -m #F#            │
  946. │                                                                        │
  947. │ 3   Letter : G   Name : Ymodem-G                  ARQ Req? : Y         │
  948. │     Send Command Line : DSZ port #P# ha cts pB4096 sb #F#              │
  949. │     Recv Command Line : DSZ port #P# ha cts pB4096 rb -g #F#           │
  950. │                                                                        │
  951. │ 4   Letter : H   Name : HS/Link                   ARQ Req? : N         │
  952. │     Send Command Line : HSLINK -P#P# -! -NT -NV -S4096 #F#             │
  953. │     Recv Command Line : HSLINK -P#P# -! -NT -NV -S4096                 │
  954. └────────────────────────────────────────────────────────────────────────┘
  955.  
  956. The above protocol examples are as they are created by default when
  957. MMSETUP is run for the first time.  You may use these as configured, or
  958. change them any way you wish.  MMSETUP configures 8 transfer protocols by
  959. default for you.  You may configure up to twenty (20) protocols.
  960.  
  961. To delete a protocol from the list, simply erase the protocol LETTER
  962. field. MMSETUP will recognize that the LETTER has been erased, and will
  963. delete the protocol.
  964.  
  965. Please note that in the examples above, the transfer protocols are sorted
  966. alphabetically.  MainMail does this automatically.  It is NOT necessary
  967. for you to configure these protocols in any particular order.
  968.  
  969. MainMail supports these parameters proper values:
  970.  
  971.            #B# = Com port base address (hex)
  972.            #C# = The callers connect baudrate
  973.            #F# = The file name of the QWK or REP file
  974.            #I# = Com port IRQ number
  975.            #N# = The current node number
  976.            #P# = The com port number
  977.            #S# = The com port baudrate
  978.  
  979. MainMail will substitute the proper values for these macros at runtime.  
  980.  
  981. All macros must be UPPER CASE for MainMail to recognize them as macros,
  982. and replace them with the proper values.  If you enter these in lower
  983. case, MainMail will think that they are part of the string that the
  984. protocol needs, and will send them as entered.
  985.  
  986.       Configuring Networks
  987.       --------------------
  988. ┌────────────────────────────────────────────────────────────────────────┐
  989. │ Net #   0   Net Code: LO   Net Name: Local            Hub ID:          │
  990. │ Tagline: This is the tagline used in the ALLNETS network.              │
  991. │ Strip Taglines On:  Export: N    Import: N                             │
  992. │                                                                        │
  993. │ Net #   1   Net Code: N1   Net Name: Network 1 Name   Hub ID: NETHUB01 │
  994. │ Tagline: This is the tagline used in network number 1.                 │
  995. │ Strip Taglines On:  Export: N    Import: N                             │
  996. │                                                                        │
  997. │ Net #   2   Net Code: N2   Net Name: Network 2 Name   Hub ID: NETHUB02 │
  998. │ Tagline: This is the tagline used in network number 2.                 │
  999. │ Strip Taglines On:  Export: N    Import: N                             │
  1000. │                                                                        │
  1001. │ Net #   3   Net Code: N3   Net Name: Network 3 Name   Hub ID: NETHUB03 │
  1002. │ Tagline: This is the tagline used in network number 3.                 │
  1003. │ Strip Taglines On:  Export: N    Import: N                             │
  1004. │                                                                        │
  1005. │ Net #   4   Net Code: N4   Net Name: Network 4 Name   Hub ID: NETHUB04 │
  1006. │ Tagline: This is the tagline used in network number 4.                 │
  1007. │ Strip Taglines On:  Export: N    Import: N                             │
  1008. └────────────────────────────────────────────────────────────────────────┘
  1009.  
  1010. When the NETWORK editor is opened, you will see a screen like the one
  1011. above.  Initially, only the first record will have any data in it.  The
  1012. Code and Name of record 0 (the Local network) cannot be edited.  
  1013.  
  1014. While in the network editor, the following keys are operational:
  1015.  
  1016.       F2   -     Finds the page for a given network number.
  1017.       F3   -     Adds a new network record.
  1018.       F8   -     Deletes a network record.
  1019.       F9   -     Saves your changes.
  1020.       PgUp -     Moves to the previous page of networks (if any).
  1021.       PgDn -     Moves to the next page of networks (if any).
  1022.       ESC  -     Exits the network editor.
  1023.  
  1024. NOTE: When adding or editing networks, use descriptive names and codes.
  1025.       Your users will be given a list of these networks when they choose
  1026.       [S]elect Forums from the door menu.  The easier it is to interpret
  1027.       your codes, the less confusion there will be for them.
  1028.  
  1029. NOTE: When you delete a network (using F8), any user or forum that belongs
  1030.       to that network will be placed into network number 0 (Local).  Also,
  1031.       any forum or user who belongs to a network above (a higher number)
  1032.       will be moved along with their network, down one.  In other words, if
  1033.       you have 5 networks, and you delete number 2, any forum or user in
  1034.       network 2 will be placed into network 0, and all networks above 2
  1035.       will be moved down one. In addition, all users and forums in networks
  1036.       3 through 5 will also be moved down one, to coincide with their
  1037.       pervious network.
  1038.  
  1039. Configuring Forums
  1040. ------------------
  1041. ┌────────────────────────────────────────────────────────────────────────┐
  1042. │Forum                   Net         Auto  News Dup Export Allow Use Net │
  1043. │ Num  Forum Name       Forum Force Select Optn Chk NonEco Yours Tag Num │
  1044. │----- ---------------- ----- ----- ------ ---- --- ------ ----- --- --- │
  1045. │    0 Main Board         N     Y     N     N    Y    N      N    N   0  │
  1046. │    1 Forum - 1          Y     N     N     N    Y    N      N    N   0  │
  1047. │    2 Forum - 2          Y     N     N     N    N    N      N    N   0  │
  1048. │    3 Forum - 3          Y     N     N     N    N    N      N    N   0  │
  1049. │    4 Forum - 4          Y     N     N     N    N    N      N    N   0  │
  1050. │    5 Forum - 5          Y     N     N     N    N    N      N    N   0  │
  1051. │    6 Forum - 6          Y     N     N     N    N    N      N    N   0  │
  1052. │    7 Forum - 7          Y     N     N     N    N    N      N    N   0  │
  1053. │    8 Forum - 8          Y     N     N     N    N    N      N    N   0  │
  1054. │    9 Forum - 9          Y     N     N     N    N    N      N    N   0  │
  1055. │   10 Forum - 10         Y     N     N     N    N    N      N    N   0  │
  1056. │   11 Forum - 11         Y     N     N     N    N    N      N    N   0  │
  1057. │   12 Forum - 12         Y     N     N     N    N    N      N    N   0  │
  1058. │   13 Forum - 13         Y     N     N     N    N    N      N    N   0  │
  1059. │   14 Forum - 14         Y     N     N     N    N    N      N    N   0  │
  1060. └────────────────────────────────────────────────────────────────────────┘
  1061.  
  1062. The Forum Editor allows you to set specific toggles for each forum, and
  1063. place the forum(s) into specific networks.  Each field is described here:
  1064.  
  1065. These fields are read from the bbs and cannot be changed:
  1066.  
  1067. Forum Number     The GAP Forum Number
  1068. Forum Name       The GAP Forum Name
  1069. Net Forum        If this forum is set up as an ECHO forum in GAP.
  1070.  
  1071. These fields can be edited:
  1072.  
  1073. Force
  1074. -----
  1075. If enabled, then non-network users will be forced into selecting this
  1076. forum.  They will not be able to deselect it.  This toggle has no effect
  1077. for Network Status users.
  1078.  
  1079. Auto Select
  1080. -----------
  1081. If enabled, then this forum will be selected automatically the first time
  1082. a user enters The MainMail Door.  The user CAN deselect this forum, unless
  1083. FORCE (above) is enabled.  This toggle has no effect for Network Status
  1084. users.
  1085.  
  1086. News Optional
  1087. -------------
  1088. If enabled, then non-network users can 'turn off' the news, welcome, and
  1089. exit-news screens.  This toggle has no effect for Network Status users.
  1090.  
  1091. Dupe Checking
  1092. -------------
  1093. If enabled, then MainMail will keep a list of CRC values for all messages
  1094. uploaded into or downloaded from this forum, and perform duplicate
  1095. checking within this forum.
  1096.  
  1097. Export NonEcho
  1098. --------------
  1099. If enabled, messages in this forum that are marked LOCAL will be exported
  1100. to Network Status users.  This toggle is necessary if you are linking two
  1101. different network software products in the same forum.  This toggle has no
  1102. effect for Non Network Status users.
  1103.  
  1104. Allow Yours
  1105. -----------
  1106. This toggle only affects Network Status users.  Normally, a network node
  1107. will want to extract ALL mail.  For this reason, MainMail normally
  1108. disables the 'Your Mail Only' option if the user has network status.  This
  1109. toggle allows a network status user to extract 'Your Mail Only' if
  1110. desired.
  1111.  
  1112. Use Tagline
  1113. -----------
  1114. This option only affects Network Status users.  If enabled, MainMail will
  1115. append a tagline to all messages being exported, if they do not already
  1116. have one.  If you are not operating as a QWK hub, then disregard this
  1117. toggle.
  1118.  
  1119. Network Number
  1120. --------------
  1121. This places the forum into a 'network'.  The network must exist prior
  1122. to placing forums into it.  Any forum placed into a non-existent
  1123. network will subsequently be placed into the 'Local' network, (#0).
  1124. You may enter the network number directly or press F5 while the cursor
  1125. in on this field to pop a pick list of configured networks.
  1126.  
  1127.  
  1128. While in the forum editor, the following keys are operational:
  1129.  
  1130.       F2   -     Finds the page for a given forum number.
  1131.       F9   -     Saves your changes.
  1132.       PgUp -     Moves to the previous page of forums (if any).
  1133.       PgDn -     Moves to the next page of forums (if any).
  1134.       ESC  -     Exits the forum editor.
  1135.  
  1136.       The User File Editor
  1137.       --------------------
  1138. ┌──────────────────────────────────────────────────────────────────────┐
  1139. │                                                                      │
  1140. │         First Name : TONY                       QWKs D/L : 437       │
  1141. │          Last Name : SUMMY                      REPs U/L : 399       │
  1142. │   Date of Last QWK : 11/04/93           Time of Last QWK : 11:12     │
  1143. │ ──────────────────────────────────────────────────────────────────── │
  1144. │ Max Msgs Per Forum : 0                    Max QWK Size K : 0         │
  1145. │     Max Msgs Total : 0                Compression Method : ZIP       │
  1146. │  Selected Protocol : Z <CDGHKXYZ>                                    │
  1147. │  Includes Own Mail : Y                        Forum Sort : NUMERIC   │
  1148. │     Scan Bulletins : Y        Enhanced File Descriptions : N         │
  1149. │         Scan Files : Y                                               │
  1150. │    Color Bulletins : Y                     Qmail Indexes : Y         │
  1151. │       Welcome/News : Y                    Network Status : N         │
  1152. │        Expert Mode : Y                    Network Number : 0         │
  1153. │ ──────────────────────────────────────────────────────────────────── │
  1154. │   [PgUp] = Prev Record    [F2] = Find Record    [F8] = Del Record    │
  1155. │   [PgDn] = Next Record    [F3] = Add Record     [F9] = Save Changes  │
  1156. └──────────────────────────────────────────────────────────────────────┘
  1157.  
  1158. While in the User Editor, the following keys are in effect:
  1159.  
  1160.       PgUp - Previous Record
  1161.       PgDn - Next Record
  1162.       F2   - Find Record By Last Name
  1163.       F3   - Add Record (Name must exist in GAP)
  1164.       F5   - Network Pick List (while cursor is on Net # field)
  1165.       F8   - Delete Record (Editor will prompt for confirmation of delete)
  1166.       F9   - Save Record
  1167.       ESC  - Exit User Editor (Save Record)
  1168.  
  1169. Most fields are self explanatory, but here are the details of each one.
  1170.  
  1171. First Name
  1172. ----------
  1173. Displays the user's first name.  You cannot edit this field.  MainMail
  1174. gets this data from GAP.  Editing this field would destroy the 'link'
  1175. between MainMail and GAP.
  1176.  
  1177. Last Name
  1178. ---------
  1179. Displays the user's last name.  You cannot edit this field.  MainMail gets
  1180. this data from GAP.  Editing this field would destroy the 'link' between
  1181. MainMail and GAP.
  1182.  
  1183. Date Of Last QWK
  1184. ----------------
  1185. The last date this user downloaded a QWK packet.  You can not edit this
  1186. field.
  1187.  
  1188. Number Of QWKs D/L
  1189. ------------------
  1190. The total number of QWK packets this user has downloaded.
  1191.  
  1192. Number Of REPs U/L
  1193. ------------------
  1194. The total number of REP packets this user has uploaded.
  1195.  
  1196. Time Of Last QWK
  1197. ----------------
  1198. The last time this user downloaded a QWK packet.  You cannot edit this
  1199. field.
  1200.  
  1201. Max Msgs Per Forum
  1202. ------------------
  1203. The most messages this user is allowed to extract from each forum in a
  1204. single session.
  1205.  
  1206. Max Msgs Total
  1207. --------------
  1208. The most messages this user is allowed to extract in a packet.
  1209.  
  1210. Selected Protocol
  1211. -----------------
  1212. The protocol this user has selected.  Valid protocols will display to the
  1213. right of this field in braces '<>'.
  1214.  
  1215. Includes Own Mail
  1216. -----------------
  1217. Does this user extract his/her own mail.
  1218.  
  1219. Scan Bulletins
  1220. --------------
  1221. Does this user scan for new bulletins during download.
  1222.  
  1223. Scan Files
  1224. ----------
  1225. Does this user scan for new files during download.
  1226.  
  1227. Color Bulletins
  1228. ---------------
  1229. Does this user require 'color' (g) versions of new bulletins.
  1230.  
  1231. Welcome/News
  1232. ------------
  1233. Does this user include the Welcome and News screens in the QWK packet.
  1234.  
  1235. Expert Mode
  1236. -----------
  1237. Does this user require the main menu.  'Expert Yes' = Do not display the
  1238. menu.
  1239.  
  1240. Max QWK Size in K
  1241. -----------------
  1242. The largest QWK file this user is allowed to download.
  1243.  
  1244. Compression Method
  1245. ------------------
  1246. Indicates the user's chosen compression method.
  1247.  
  1248. Forum Sort
  1249. ----------
  1250. Indicates the user's default forum sort order in the SELECT screen.
  1251.  
  1252. Enhanced File Descriptions
  1253. --------------------------
  1254. This toggle only applies if the user has 'Scan Files' set to YES.  This
  1255. option indicates whether the user wants Condensed (short) or Enhanced
  1256. (long) file descriptions.
  1257.  
  1258. Network Status
  1259. --------------
  1260. Indicate that this user is allowed 'network' type packets.  This allows
  1261. the packet to be inserted into another bbs' message base(s), and also
  1262. allows messages to be uploaded to your bbs that are from users other than
  1263. the one currently in the door.
  1264.  
  1265. Net Number
  1266. ----------
  1267. This option 'places' the net status user into a particular network.  ONLY
  1268. forums in THAT network will be available to this user.  Optionally, you
  1269. may place this user into a special network called 'ALLNETS' (network #99)
  1270. which allows access to all forums in all networks.  You may enter the
  1271. network number directly or press F5 while the cursor in on this field to
  1272. pop a pick list of configured networks.
  1273.  
  1274.                               IN SUMMARY
  1275.  
  1276. This concludes The MainMail System documentation.  Your MainMail door
  1277. should now be ready to go.  We at The Main Shop sincerely hope that you
  1278. find The MainMail System satisfactory for your needs.  Please feel free to
  1279. give us a call if there are any questions or suggestions you may have.  We
  1280. are very open to suggestions as to how we can make our products better.
  1281.  
  1282.  
  1283.       THANKS
  1284.       ------
  1285. I want to express a special thanks to the following persons, or companies
  1286. for their help in the creation of The MainMail System.  Without them, The
  1287. MainMail System would still be only a glimmer in my eye.  I could not have
  1288. done it without any one of them.
  1289.  
  1290. Mark Turner:
  1291.       Mark wrote the original version of this code, Markmail For GAP back
  1292.       in 1990.  It was Mark who turned me into a good friend, who inspired
  1293.       me to learn C, and help me to get started.  Several times throughout
  1294.       the development of this product, he was a lifesaver with his advise
  1295.       and wisdom, (and an occasional derogatory comment <grin>).  Thank
  1296.       you very much, Mark!   (If I *EVER* hear "Why didn't you just do it
  1297.       THIS way?" again, I'll scream!)
  1298.  
  1299. Kenny Gardner:
  1300.       Kenny has been more help than I can put in words.  GAP BBS software
  1301.       is the finest and most advanced BBS software available, and it is
  1302.       this man who is responsible for making it that.  Naturally, without
  1303.       GAP, there would be no MainMail System, and without Kenny's help, I
  1304.       never would have been able to finish this project.  Thank you for
  1305.       your help and guidance.
  1306.  
  1307. The Beta Testers:
  1308.       It's these guy's hard drives and user files I trashed while
  1309.       perfecting this version of The MainMain System.  Without these guy's
  1310.       input, the product wouldn't be anywhere near as feature packet, or
  1311.       as solid as it is.  I can't thank them enough!
  1312.  
  1313.  
  1314. The MainMail System is compiled with Microsoft C 6.0, using the following
  1315. libraries:
  1316.  
  1317.       C-TREE Ver 4.3c, Copyright (c) 1984-1989, by: FairCom Corporation.
  1318.       CXL Ver 5.1, Copyright (c) 1987-1989, by: Mike Smedley.
  1319.       MCOMM Ver 5.56 Async, Copyright (c) 1989-1993, by: Mike Dumdei.
  1320.       BUFIO Ver 1.1 Buffered File I/O, Copyright(c) 1989, by: Mark Turner.
  1321.  
  1322. Plus portions of:
  1323.  
  1324.       GAPCDOOR Ver 6.0, Copyright (c) 1988-1993, by: GAP Development Co.
  1325.  
  1326.                                APPENDIXES
  1327.  
  1328.  
  1329. Appendix A - File Formats
  1330. -------------------------
  1331. MainMail produces and includes the following files in a downloaded QWK
  1332. packet:
  1333.  
  1334. DOOR.ID:
  1335.       A text file which informs the mail reader about the door.  DOOR.ID
  1336.       will always have these contents:
  1337.  
  1338.                  DOOR = MainMail
  1339.                  VERSION = 3
  1340.                  SYSTEM = GAP Ver 6.0
  1341.                  CONTROLNAME = MAINMAIL
  1342.                  CONTROLTYPE = ADD
  1343.                  CONTROLTYPE = DROP
  1344.                  CONTROLTYPE = YOURS
  1345.                  CONTROLTYPE = OWN
  1346.  
  1347. <idcode>.PTR:
  1348.       A binary file containing a single 16 byte record for each forum that
  1349.       the current user (the user in the door) is registered in.
  1350.       idcode.PTR is a standard C structure of the format described below.
  1351.       If mail reader authors wish to manipulate this file and include it
  1352.       in the upload, they are welcome to.  The MainMail System will look
  1353.       for this file in an upload, and if it is found, MainMail will do the
  1354.       following:
  1355.  
  1356. For each record contained in <idcode>.PTR, MainMail will:
  1357.  
  1358. 1)    Check to see if the current user is registered in the forum and if
  1359.       not, MainMail will register the user in the forum.
  1360. 2)    Reset the user's last message read to the message number contained
  1361.       in the idcode.PTR record.
  1362.  
  1363. The format of the <idcode>.PTR record(s) is:
  1364.  
  1365.       struct POINTER
  1366.       {
  1367.            unsigned forumnum;          // forum number for this record
  1368.            unsigned extrafield;        // for future use
  1369.            long messagenumber;         // high message number
  1370.            char extra[8];              // for future use
  1371.  
  1372.       }    pointer;
  1373.  
  1374.  
  1375. In addition, the following 'standard' QWK files are included:
  1376.  
  1377. MESSAGES.DAT:    Contains the actual messages
  1378. xxx.NDX:         Index of messages in messages.dat ('xxx' = forum number)
  1379. PERSONAL.NDX:    Index of messages TO: the current user.
  1380. NEWFILES.DAT:    Text file containing a list of new files.
  1381.  
  1382. BLT-xxx.yyy:     New bulletins ('xxx' = forum number, 'yyy' = bulletin
  1383.                  number)
  1384. NETFLAGS.DAT:    Network Registration Flags (net status users only)
  1385. SESSION.TXT:     A screen capture of the message extraction step.
  1386. ATTACHED.LST:    List of attached files included in this packet.
  1387.  
  1388. Plus the NEWS and ENEWS files from the BBS.
  1389.  
  1390. The following file is in the 'standard' REP packet:
  1391.  
  1392. idcode.MSG:      Replies uploaded into MainMail. (Similar to MESSAGES.DAT
  1393.                  above)
  1394. ATTXREF.DAT:     A list of attached files being uploaded in this packet.
  1395.  
  1396.  
  1397.  
  1398. Appendix B - Caller Log Entries
  1399. -------------------------------
  1400. The MainMail System writes a log of its activities to the GAP BBS caller
  1401. logs.  A GAP BBS caller log entry consists of a date (A), time (B), log
  1402. code (D) and a description (F), and in some cases, an additional field (E)
  1403. which may contain information such as forum number, error number or a
  1404. descriptor such as 'Open' or 'Local'.  
  1405.  
  1406. The caller log codes used by The MainMail System will be between 751 and
  1407. 799.  Codes between the numbers of 751 and 779 are normal activities,
  1408. while codes 780 and above indicate errors.  Here is an example of a caller
  1409. log entry:
  1410.  
  1411.       A          B          C    D     E     F
  1412.       06/20/92   20:55      OP   773   127   Extracted Messages: 32
  1413.  
  1414. A and B are self-explanatory, C through F are explained here.
  1415.  
  1416. C = 'OP' for normal operation, 'ERR' if an error has occurred.
  1417. D = The Log code (see list immediately following this section).
  1418. E = Forum number, or other number describing the operation or error.
  1419. F = Description of entry.
  1420.  
  1421. Sometimes (as in the example above) there is an additional number after
  1422. the text.  In our example above, the extra entry is the number of messages
  1423. extracted.
  1424.  
  1425. Where an extra number or field is included after the text field (F) , it
  1426. will be described below in braces '<>'.  
  1427.  
  1428. Where there is an entry in 'E', the item written will be described below
  1429. in square brackets '[]'.
  1430.  
  1431. Caller log codes and their descriptions
  1432. ---------------------------------------
  1433. The following are normal log entries, and will write the 'OP' code (C).
  1434.  
  1435. 751 = Entered Select Area
  1436. 752 = Selected Forum [forum number]
  1437. 753 = DeSelected Forum [forum number]
  1438. 754 = Entered Protocol Select Area
  1439. 755 = Selected Protocol [protocol letter]
  1440. 756 = Selected Files Scan
  1441. 757 = DeSelected Files Scan
  1442. 758 = Selected Bulletins Scan
  1443. 759 = DeSelected Bulletins Scan
  1444. 760 = Selected Expert Mode
  1445. 761 = DeSelected Expert Mode
  1446. 762 = Other Configuration Area
  1447. 763 = Entered Select Compression Area
  1448. 764 = Selected Compression [compression method number]
  1449. 765 = New Bulletins Found: [forum number] <number of new bulletins>
  1450. 766 = New Files Found: [forum number] <number of new files>
  1451. 767 = Total Messages Extracted: <number of messages>
  1452. 768 = Inserted Messages (non net status) [forum number] <# of msgs>
  1453. 769 = Duplicate message uploaded [forum number]
  1454. 770 = New MainMail User
  1455. 771 = Downloaded Packet [protocol letter]
  1456. 772 = Uploaded Packet [protocol letter]
  1457. 773 = Extracted Messages: (non net status) [forum number] <# of messages>
  1458. 774 = Total Inserted Messages: <number of messages>
  1459. 775 = Inserted Messages (net status users) [forum number] <# of msgs>
  1460. 776 = Sysop Shell To DOS
  1461. 777 = Return From DOS
  1462. 778 = Extracted Messages: (net status) [forum number] <# of messages>
  1463. 779 = Not Used
  1464. 780 = Not Used
  1465.  
  1466.  
  1467. Error Entries
  1468. -------------
  1469. The following are error messages and will write the 'ERR' code (C).  If
  1470. you encounter one of these codes, look into the cause.  If you are not
  1471. successful, contact The Main Shop and we will help you track down the
  1472. problem.
  1473.  
  1474. 781 = ISAM error [isam error number] <forum number>
  1475. 782 = Open Error <filename>   (This is a file not found error)
  1476. 783 = Out Of Memory
  1477. 784 = Error Creating Archive
  1478. 785 = Error Uploading Packet
  1479. 786 = Error Downloading Packet
  1480. 787 = Not Enough Time For Download
  1481. 788 = Error UnArchiving Packet
  1482. 789 = Wrong BBSID In Packet
  1483. 790 = Multiuser Lock Error  (multiuser version only)
  1484. 791 = Not Used
  1485.  
  1486. 792 = User file record error (Unable to reread user record)
  1487. 793 = Work Directory Error
  1488. 794 = Demo version Limitation Exceeded
  1489. 795 = Carrier Lost
  1490. 796 = Keyboard Timeout
  1491. 797 = Expired Time
  1492. 798 = Invalid Key File
  1493. 799 = Abnormal Exit
  1494.  
  1495. ISAM Errors (781)
  1496. -----------------
  1497. When an ISAM error (log code 781) occurs, field (E) will be the actual
  1498. error code returned form the ISAM routines.  This section describes the
  1499. possible ISAM errors.
  1500.  
  1501. 12 = ISAM File Not Found, Could Not Open.
  1502. 14 = File Appears Corrupted. Run MMPACK.
  1503. 16 = Could Not Create Index.  Probably Out Of Disk Space.
  1504. 17 = Could Not Create Data File.  Probably Out Of Disk Space.
  1505. 24 = Could Not Close File.  Probably A Memory Error.  Reboot.
  1506. 25 = Bad Link In Index. Run MMPACK.
  1507. 30 = Write Past End Of File.  Run MMPACK.
  1508. 34 = Could Not Find Previous Index Node.  Run MMPACK.
  1509. 35 = Seek Error.  Probably Out Of Disk Space.
  1510. 36 = Read Error.  Run MMPACK.
  1511. 37 = Write Error.  See error 35.
  1512. 42 = Could Not Obtain Record Lock.  Load SHARE.
  1513. 101 = Could Not Find Record.  Run MMPACK.
  1514.  
  1515.  
  1516. 782 - Open errors:
  1517.       These usually indicate a file not found or incorrect path.  Check
  1518.       your GAP or MainMail configuration for incorrect paths.
  1519.  
  1520. 783 - Out Of Memory:
  1521.       This is a serious problem.  MainMail creates buffers of various
  1522.       sizes throughout the running of the program.  (See section of
  1523.       Desqview and memory earlier in this manual).  The memory
  1524.       requirements of MainMail are such that if you have an 'out of
  1525.       memory' condition, there is usually a deeper problem.  Check your
  1526.       autoexec.bat and config.sys files for TSRs that might be fragmenting
  1527.       memory, and leaving it split into two small sections.  Reboot at the
  1528.       very least!
  1529.  
  1530. 784 thru 789:
  1531.       These are user errors.
  1532.  
  1533. 793 - Work Dir:
  1534.       Work directory errors are also serious.  This means that MainMail
  1535.       could not make, or switch to the work directory.  Probable cause is
  1536.       out of disk space, or 512 files in the root of the drive.
  1537.  
  1538. 794 - Demo Version Limitation Exceeded: BUY MAINMAIL!
  1539.  
  1540. 795 thru 797 are user errors.
  1541.  
  1542. 798 - Invalid Key File:
  1543.       Your MMSYS.DAT encrypted key file has been altered.  Call The Main
  1544.       Shop and download a new key file.  (See the section on SUPPORT
  1545.       earlier in this manual.)
  1546.  
  1547. 799 - Abnormal Exit:
  1548.       Anytime a fatal error has occurred, it will be followed by this
  1549.       error as MainMail aborts.
  1550.  
  1551. Not all of these codes actually indicate a problem, but the are errors
  1552. nonetheless.  For example, if you were to encounter an error 1 for log
  1553. code 786 'Error Downloading Packet', that is simply a dos errorlevel 1
  1554. from DSZ and is probably the user's problem.
  1555.  
  1556.                            LICENSE AGREEMENT
  1557.  
  1558. This is a legal agreement between the purchaser of The MainMail System
  1559. license (herein referred to as YOU) and The Main Shop (herein referred to
  1560. as US or WE).  By paying the registration fee for The MainMail System
  1561. (herein referred to as SOFTWARE) you hereby agree to the terms set forth
  1562. by this agreement, and agree to be bound to this contract.  If you find
  1563. the terms of this contract to be unacceptable, return the SOFTWARE to us
  1564. for a refund within 30 days of payment of the license fee, and we will
  1565. consider this contract null and void.  At that time, you are legally
  1566. required to discontinue to use the SOFTWARE and remove ALL copies of the
  1567. SOFTWARE from ALL sources of media you possess, and retain NO copies
  1568. whatsoever.
  1569.  
  1570. You are hereby granted the right to operate the SOFTWARE on one computer
  1571. system at one site for the term of this contract.  One computer system is
  1572. defined as a single computer, or several computers connected via a single
  1573. local-area-network, provided that all computers operating the SOFTWARE
  1574. share the same single user file.
  1575.  
  1576. Multiple bulletin board systems operating with separate data files are
  1577. considered separate and individual systems and are specifically excluded
  1578. from the terms of this contract, even if they operate using identical or
  1579. similar names, and/or are located at the same physical site.  Such
  1580. multiple systems each require a license of their own.
  1581.  
  1582. You are permitted to make a reasonable number of copies of the SOFTWARE
  1583. for archival purposes, or for purposes of performance.  Permitted copies
  1584. would be, for example, a copy of the SOFTWARE residing on each work
  1585. station of a local-area-network providing that the terms described above
  1586. in regards to multiple bulletin boards are met.  A reasonable number of
  1587. copies would be one copy for each operating node of your bulletin board,
  1588. plus 2 copies for archival purposes.
  1589.  
  1590. You may NOT under ANY circumstances, provide a copy of your registered
  1591. SOFTWARE to a bulletin board operator who has not paid the registration of
  1592. the SOFTWARE to us even for archival purposes.
  1593.  
  1594. You may operate as many copies of the SOFTWARE as you operate nodes on
  1595. your bulletin board system, plus one.  The one additional copy can be
  1596. operated as a local (non-publicly available) copy for your own use
  1597. off-line.  This method of use is considered normal, and does not violate
  1598. the terms of this contract.
  1599.  
  1600. You may not rent, lease or share the SOFTWARE with any other party.
  1601. However, the software is transferable to another party providing that
  1602. these conditions are met:
  1603.  
  1604. 1)    The receiving party registers his/her bulletin board with us.
  1605. 2)    You eliminate all copies and retain NO copies of the SOFTWARE.
  1606.  
  1607. Should any part or section of this contract be determined to be
  1608. unenforceable or unconstitutional, that section shall be declared void.
  1609. Such declaration shall have no effect on the remaining sections of this
  1610. contract.
  1611.  
  1612. Information in this manual is subject to change without notice.  The Main
  1613. Shop may make improvements and/or changes to The SOFTWARE at anytime.
  1614.  
  1615.  
  1616.       SATISFACTION GUARANTEE
  1617.       ----------------------
  1618. The SOFTWARE license is sold with an unconditional 30-day money-back
  1619. guarantee.  If for any reason you are not completely satisfied with the
  1620. SOFTWARE, return it within 30 days of purchase, and your full purchase
  1621. price will be refunded.  The Main Shop makes no warranties of any kind,
  1622. expressed or implied, with respect to the quality, performance, accuracy,
  1623. or fitness of SOFTWARE for any particular purpose.  The Main Shop assumes
  1624. no responsibility for any decisions made or actions taken on the part of
  1625. Purchaser because of the use of the SOFTWARE.  In no event shall The Main
  1626. Shop be liable for any loss of profit or any other damages, including but
  1627. not limited to special, incidental, consequential or other damages,
  1628. arising out of the use of or inability to use the product, even if The
  1629. Main Shop has been advised of the possibility of such damages.
  1630.