home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
bbs_opus
/
sm_27c.arj
/
SCANMAIL.DOC
next >
Wrap
Text File
|
1991-08-04
|
17KB
|
390 lines
╔══════════════════════════════════════════════════╗
║▒▒▒▒▒▒ ScanMail v2.7c - SysOp Documentation ▒▒▒▒▒▒║
╚══════════════════════════════════════════════════╝
ScanMail is just what it says. It is a mail scanning program for
Opus Version 1.70. It is nothing flash and contains no redundant
install code, it just gets the job done.
This file contains details on the set-up and use of ScanMail. If you
encounter any problems, you can contact the Author via NetMail at...
Mick Howland
The Perth OMEN
FidoNet 3:690/660
Or myself
Jonathan Cousins
The Engineer's Pitstop
FidoNet 3:690/652
If you do get any error messages, please tell us about them as well
as the commands leading up-to the error.
╔════════════════════════════╗
║▒▒▒▒▒▒ 1. Legal Stuff ▒▒▒▒▒▒║
╚════════════════════════════╝
ScanMail is and shall remain the property of Mick Howland of
The Perth Omen. You are granted to use and distribute this
archive as long as the all files within the archive remain
intact and un-modified.
Many hours of work have been put into the writing of this program
and it has been tested on several systems. I can not guarantee that
ScanMail will work with all configurations, only that it works on
the configurations it was tested on.
The author will not be held liable for any damage this program may
do to your system. You are using it entirely at your own risk.
Remember, if it breaks, you get to keep all the pieces!
╔═══════════════════════════════════╗
║▒▒▒▒▒▒ 2. Configuration File ▒▒▒▒▒▒║
╚═══════════════════════════════════╝
╔═══════════════════════════════════════════════════════════════════╗
║ Anyone converting from a version of ScanMail prior to 2.7 must ║
║ re-do the config files. This is due to the change in the parameter║
║ names to reflect Opus 1.70 as being the official release version ║
║ instead of 1.20. ║
╚═══════════════════════════════════════════════════════════════════╝
There are 11 parameters in the configuration file (SM.CFG).
Most of them are self explanatory.
1) Define the location and file name for the User file
Opus170UserFile C:\Opus\User.Dat
2) Define the location and file name for the Message Area database
Opus170AreaFile C:\Opus\Sysmsg.Dat
3) Define the location and file name for the Mail file created by
ScanMail. This file contains a complete list of the messages
for users on the BBS.
MailWaitingFile C:\Opus\Misc\MailWait.Dat
4) Define the location and file name for the LastUser file
Opus170Lastuser C:\Opus\Status\Lastus01.Dat
5) Define the location and file name for the file telling the user
about any waiting mail along with all area and message details.
MailWaitingOutFile C:\Opus\Misc\MailOut.Bbs
6) Define the location and file name for the file to be displayed
after the mail waiting file is shown. This line can be commented
out if you wish.
ChainToFile C:\Opus\Misc\Bulletin.Bbs
7) Define the location and file name for the file to be displayed
if there is no mail for the user. This option may be commented
out if you do not want to display anything special to the user.
NoMailWaitingFile C:\Opus\Misc\NoMail.Bbs
8) Define the location and file name for the flag file. This is for
multi-line systems to avoid two copies of smc trying to write to
the same file.
FlagFiles C:\Opus\Status\
9) Which area(s) to exclude from a compile/update phase. This is
especially useful if you have 2 logical areas pointing to the
same phisical area. E.g. Logoff messages and your replies.
If you do not want to exclude any areas and are using the INCLUDEAREAS
option the you may comment this out, however if you don't want
to use any of these include/exclude options, then leave this
line uncommented but with no area numbers.
ExcludeAreas 0 9 4321 31932 28
10) Which area(s) to use during a compile/update phase. This is
especially usefull if you have a lot of areas that you do
NOT want to be scanned but would take lines and lines (plus heaps
of typing) to enter. Oposite to the ExcludeAreas option.
IncludeAreas 1 2 3 4 5 6 7 8 9 12 93
11) Define the display colours.
ScanMail v2.7b.Opus 1.70
┌─────┘ │
│ ┌────────────┘
│ │ ┌───────────────────────────────────────────────────────┐
│ │ Jonathan, you have mail waiting for you in the following area(s)│
│ │ │ │ │ ┌────────────────────┬────┬──────────┘
│ │ │ │ │ Area 6, Netmail │ │
│ │ │ │ └──┐ │ ┌────┘ │ Msg(s) 25, 34, 123
│ │ │ └┐ │ │ │ ┌────┘ │ │ │ │
│ │ └────┐ │ │ ┌─┘ │ │ ┌────┘ │ │ │
│ └──┐ │ │ │ │ │ │ │ ┌────────────┴────┴───┘
│ │ │ │ │ │ │ │ │ │
Colour 12 11 12 14 2 13 9 79 10 7
This is a list of the legal colour codes you can use for the
"Colour" statement. If you want to change background colours,
select the background colour you want (legal range is 0(Black)
to 7(Gray)) and multiply it by 16 and then add the foreground
colour (legal range is 0(Black) to 15(white)). If you want the
particular item to flash then simply add 128 to you colour.
For example: Using the default Colour statement above, I have
the name of the area in white with a red background, this works
out like this... 15(white) + ( 4(red) * 16 ) = 79
Black = 0 Blue = 1 Green = 2
Cyan = 3 Red = 4 Magenta = 5
Brown = 6 Gray = 7 DarkGray = 8
LightBlue = 9 LightGreen = 10 LightCyan = 11
LightRed = 12 LightMagenta = 13 Yellow = 14
White = 15
Note:
ScanMail will create a flag-file during the compilation or update
stage. When SMC/SMD is executed, it will first check for the
presence of this file before proceeding. This is a for multi-line
systems to avoid two copies of smc trying to write to the same file
which could cause some strange if not major problems.
╔═════════════════════════════════════════════════════════╗
║▒▒▒▒▒▒ 3. Compiling and Updating the Mail Database ▒▒▒▒▒▒║
╚═════════════════════════════════════════════════════════╝
Before ScanMail can be used for the first time, it must compile a
listing of mail waiting for the users.
This compilation should also be done after any re-numbering of the
message base. An update should be performed after users log off
and after the reciept of inbound mail.
The syntax for the compile/update program are as follows.
SMC <-C> <-U> <-Afilename.ext>
Compile Update Alternative config file
*** Note ***
No spaces are allowed between
the -a and the filename.
Typing SMC by itself will display the available parameters
╔═════════════════════════╗
║▒▒▒▒▒▒ 3.1 Compile ▒▒▒▒▒▒║
╚═════════════════════════╝
The compile procedure will read in the area and user database
files. It will then scan through all defined message areas and
create its own database of users with mail waiting.
Priviledge levels are honoured so that users will not be shown
mail waiting in areas that they can not access. It is up to you
to ensure the users have access to areas that messages for them
may be entered into.
╔════════════════════════╗
║▒▒▒▒▒▒ 3.2 Update ▒▒▒▒▒▒║
╚════════════════════════╝
After a user has logged off, or extra mail is added (without
renumbering the message base), you may update the ScanMail data.
To do this, just use the -U parameter.
The update procedure will read in the lastuser file (as stipulated
in the configuration), the old ScanMail data file, Opus user and
sysmsg data files, then check with the high-water marks for all the
message areas. Any new messages to users will be added to and any
deleted mail will be removed from the ScanMail database.
╔═════════════════════════╗
║▒▒▒▒▒▒ 3.3 Display ▒▒▒▒▒▒║
╚═════════════════════════╝
SMD has two command line options. Using SMD by itself will generate
the MailWaiting file to show to the user who is currently online.
Typing SMD with a users name will show any mail waiting for that
user on your screen.
For example.
SMD <enter> will generate a file for the user.
SMD Mick Howland <enter> shows any mail waiting locally
SMD Mick Howland -ac:\opus\sm.cfg <enter> same as above but tells
^ SMD where to find an
| alternative config file.
|
| Note - No space between the -a and the filename.
╔══════════════════════════════════════╗
║▒▒▒▒▒▒ 4. Sample Implementation ▒▒▒▒▒▒║
╚══════════════════════════════════════╝
Now for the really useful bit. You now know how to compile the data
and how to generate the display file. Next to give an example.
a) Copy the files into your OPUS directory.
b) Place the command "SMC -C" in your midnight event batch file
after the message renumbering.
c) Insert "SMC -U" in the batch files just after a user logs off
and after incoming mail processing.
d) Add some lines to display the message to the user.
For example, at the end of my Welcome.OEC file, I have the
following lines....
[DOS]c:\opus\smd
[ENTER][CLS][CALLFILE]c:\opus\misc\mailout.bbs
[DISPLAY]c:\opus\misc\bulletin.bbs
* Callfile compiles to ^OA - customised
* If you use OACOMP, add "CALLFILE ^OC" to your OACOMP.TOK file
I have also added an option into the Message Menus...
_SHOW Twit "Where are mine?" = c:\opus\mailout
Important - If you use this function, any chain file that you
entered in the config file will also be shown.
╔════════════════════════════════════╗
║▒▒▒▒▒▒ 5. Future Enhancements ▒▒▒▒▒▒║
╚════════════════════════════════════╝
a) Make the message compile function KEY aware. Any need for it?
b) Speed up compile and display phases. Ummmmm???????? yeah, right.
╔═════════════════════════════════╗
║▒▒▒▒▒▒ 6. Revision History ▒▒▒▒▒▒║
╚═════════════════════════════════╝
If a lot of this seems like gobbly-gook, don't worry, it's just a
product of my warped logic, and it makes sense to me!
SMC.EXE
1.0 06/06/91 - Initial release to Jon (guinea pig). Only compiled database,
limited usernames capability.
1.1 15/06/91 - Usernames now allocated dynamically on heap. Added command
line functions and help if none. Added highwater recording
for the update phase. Also added a pointer to the next
record in the datafile.
1.2 18/06/91 - Changed database format, removed $ffff terminator word in
output file. Not needed now because of record pointers.
1.3 19/06/91 - Started adding the update phase. What a prick of a job!
1.4 24/06/91 - Reverted back to highwater marks from v1.1.
2.4 25/06/91 - Version number changed to make it obvious that this is a
complete rewrite from the version 1.x program release.
29/06/91 - Finally got the %$@#$*( sorts to work!
30/06/91 - First offical Opus 1.70 release.
2.5 01/07/91 - Added a new error handler routine. Now loggs errors to a
disk file. It should now read the sysmsg file correctly as
there were errors in the released Opus structures. This
caused me a few headaches!
2.6 07/07/91 - Added a config option to specify where the flag files are
to be created/found as we just went multiline and it soon
became apparent that the original idea was full of bugs.
The alternative config file option _NOW_ works, what a
stupid mistake!
2.6a 13/07/91 - First official public release.
2.7 14/07/91 - Added an exclude area function. Thanks to Andrew Newbury
(3:634/385@fidonet) for this suggestion.
2.7a 14/07/91 - Fixed command line parser, for good this time i hope.
2.7b 02/08/91 - Added a new config option that tells ScanMail to only look
at areas wanted. Oposite to the ExcludeAreas option. Thanks
to Dan Dimick (1:105/7@fidonet) for this suggestion.
Should also fix problems encountered with screen bleed
through under DesqView (I hope? It did here!).
2.7c 03/08/91 - Fixed a very small mite that i introduced while adding the
includeareas option <red face>.
SMD.EXE
1.0 06/06/91 - Initial release to Jon (guinea pig).
1.1 15/06/91 - Now skips highwater mark header information.
1.2 18/06/91 - OEC colour codes now conform to Opus specs ^V^A^P Highbit
set on colour value. Copy of the nomailwaiting file is now
done with a blockread, as a text file readln() could bomb
on a ^Z in the nomailwaiting file.
2.2 25/06/91 - Version number changed to make it obvious that this is a
complete rewrite from the version 1.x program release.
2.3 ??/??/?? - Ummmm, obviously i can't count. Don't know how i missed 2.3?
2.4 30/06/91 - Official Opus 1.70 release. Did some change to this version
but forgot to mention it here, maybe i should go to bed at
a decent hour like normal people!
2.5 01/07/91 - Added a new error handler routine. Now loggs errors to a
disk file. Added colour config code. It should now read the
sysmsg file correctly as there were errors in the released
Opus structures. This caused me a few headaches!
2.6 07/07/91 - Added a config option to specify where the flag files are
to be created/found as we just went multiline and it soon
became apparent that the original idea was full of bugs.
The alternative config file option _NOW_ works, what a
stupid mistake!
2.6a 13/07/91 - First official public release.
2.7 14/07/91 - Added local display option. Thanks to Andrew Newbury
(3:634/385@fidonet) for this suggestion.
2.7a 16/07/91 - Fixed problem in that if SMC was running on one node and
SMD was run on a different node, SMD would abort and Opus
would show the user online, the mailwaiting file from the
last logon. SMD now writes out the nomailwaiting file which
should fix this. Fixed a small bug in the file copy routine.
19/07/91 - Small mod to command line parser. Should now ignore any
spaces between -a and alternative config path/filename.
2.7b 02/08/91 - Found and fixed another problem with the command line
parser. Who invented bloody command line options anyway!
Should also fix screen bleed problems encountered while
using DesqView (I hope? It did here!). Also enabled more
prompts in the output display file as suggested by
Dan Dimick (1:105/7@fidonet).
╔════════════════════════╗
║▒▒▒▒▒▒ 7. Credits ▒▒▒▒▒▒║
╚════════════════════════╝
I would like to say thanks to the Opus LCDs for the many many hours
of unpaid work they have put into Opus to make it the worlds best.
Many thanks to all who beta tested this very buggy program, especially
Dan Dimick who really helped me along with his quick replies.
No thanks to Jonathan Cousins for giving me a lot of headaches
because of his insistant nagging for me to write this <grin>.
Programme by Mick Howland, Documentation by Jonathan Cousins & Mick Howland.
Compiled 4th August 1991