EMAIL SYSTEM OPERATORS GUIDE
			 for the AMUS EMAIL package


	 Written by DAVE HEYLIGER - AMUS Staff and author of EMAIL



	PROGRAMS
	========

	The AMUS EMAIL package consists of the following programs:

		EMAIL.LIT 	- the actual EMAIL program
		MAILON.LIT	- records users who are on the system
		MAILOF.LIT	- records users who are off the system
		MALINI.LIT	- initializes the AMUS EMAIL system
		MAILOP.LIT	- a "priority" program that defines users
		WHOSON.LIT	- displays EMAIL users, who's on/who's off

	All of the above programs should be located in the SYS: account,
	DSK0:[1,4].

	NOTE: When assembling EMAIL.M68, it will only go through "Phase 2".
	      You must then enter  .LNKLIT EMAIL  to create EMAIL.LIT.





	INSTALLATION
	============

	To install EMAIL on your system requires the following three steps:

		1) Defining the requirements of EMAIL and defining all of
		   the users of EMAIL (individual's "mailboxes") with the
		   MAILOP program.

		2) Creating a "shell-of-sorts" that runs MAILON.LIT when the
		   user logs on and runs the MAILOF.LIT program when the user
		   logs off.

		3) Modifying your AMOSL.INI bootup file to install and
		   initialize the AMUS EMAIL package.


	STEP 1 - Running the MAILOP program.

		The MAILOP program is a "priority" program. It requires the
	user to be in the OPR: account, DSK0:[1,2] before the program can be
	run. This program should only be run by one individual. Therefore,
	the OPR: account should have a password. You may place a password on
	this account with the SYSACT command.

		Before you dash madly off and run the MAILOP program, you
	need to decide on a few parameters. They are: (a) the approximate
	MAXIMUM NUMBER OF USERS you will ever have defined on the AMUS EMAIL
	system, and (b) unique NAMES and PASSWORDS for each user you wish to
	initially define (6 characters max each). Once these two parameters 
	have been defined, you may LOG to the OPR: account and enter MAILOP.

		Now that you are in the MAILOP program, you have the following
	choices: ADD user, DELETE user, CHANGE user password, LIST all users
	and their corresponding passwords, INITIALIZE the AMUS EMAIL package,
	and QUIT.

		Choose the INITIALIZE option by entering in an "I". You must
	now enter in the approximate maximum number of EMAIL users you think
	you might define. Be liberal. For example, if 20 people are in your
	office, you might choose 40. Note that the number you choose should
	be divisible by 20 (i.e., 20, 40, 60, ... ,100, 120 etc.). This will
	create the following files in the BOX: account on your system, DSK0:
	[7,2] (see FILE STRUCTURE later in this document to see the exact
	structure of each file listed below):

		EMAIL.DAT - a random file containing each individuals stats.
		EMAIL.USR - a random file that is copied into system memory.
		EMAIL.SYS - a sequential file that creates space in system
			    memory for EMAIL.USR.

		Once you have initialized EMAIL with MAILOP, you should never
	need to do this procedure again. MAILOP will "beep" at you if you try
	to initialize EMAIL and any of the above 3 files are already on your
	system.

		You are now ready to ADD users to the AMUS EMAIL package. To
	do this, simply type in an "A".	MAILOP will ask for a user NAME and
	PASSWORD (6 characters max each). Begin adding in the users you would
	like to define to EMAIL. Once a user is defined, you may select "A"
	again for each additional user you would like to add. MAILOP will 
	"beep" at you if you try to add two users with the same name.

	NOTE: after ADDing, you MUST REBOOT to record the user. The name has
	      been added to the EMAIL.USR file but this information has not
	      been loaded into system memory via MALINI (see FILE STRUCTURE
	      below for details before you press that reset button!). DO NOT
	      reboot if this is your very first run and steps 2 and 3 have not
	      been completed! DO reboot each time you add new users later in
	      your wonderful life!

		To examine all of the user's NAMEs and PASSWORDs that are
	currently defined on EMAIL, choose the "L" option (for LIST). You
	will see all of the users listed to the screen, including their
	PASSWORDs! This is why only ONE user should run the MAILOP program.
	The password for each user insures privacy of EMAIL. If everyone knew
	everybody's password, they could read other peoples mail! Therefore,
	make sure that only a select few have access to MAILOP (i.e., get that
	password on the OPR: account or don't tell people about MAILOP!).

		Suppose now that you would like to modify a defined user's
	PASSWORD (the user requested to you that they would like a new EMAIL
	password). Select the "C" option (for CHANGE). MAILOP will prompt you
	for the user's name you would like to modify the password for. If you
	enter in a defined user, MAILOP prompts for the password. Enter in the
	new password to update the new entry. Use "L" to examine the changes
	if necessary. Reboot the system if MALINI has been executed to record
	the new change if steps 2 and 3 have been already performed.

		Finally, to DELETE a user, select "D". MAILOP will ask you for
	the name of the user you would like deleted, and if you enter in a
	defined user that already exists, this user will be deleted. Again, a
	reboot is necessary unless steps 2 and 3 are not complete.

	NOTE: before you ever delete a user from EMAIL, it might be a good
	      idea for the SYSOP to "log on" as this user and clean up this
	      individuals mailbox (delete all messages in their box and delete
	      all of this users UNREAD mail. Also clear their AUTO reply - see
	      EMAIL.MAN for details on these functions). Also, after you have
	      deleted a user, be sure to REBOOT the system to record changes.


	STEP 2 - Creating a "Shell"

		EMAIL was created with the idea in mind that each individual
	who logs on gets "captured" by the system at logon and "released" from
	the system at logoff. In order to achieve this type of "shell", you 
	need to create two command files - an "ONLINE.CMD" command file, and
	an "OFFLIN.CMD" command file. Both files should reside in the CMD:
	account, DSK0:[2,2]. Let's take a close look at each file.

	Note: by no means is this a tight security shell, and you may call
              these files any name you like.

	"ONLINE.CMD"

		This file should be FORCEd to each JOB on bootup. You will see
	where to place this file in your AMOSL.INI file in STEP 3 below. For
	now, let's examine the purpose and structure of this file.

		The sole purpose of this file is to capture the EMAIL user
	when the individual logs on your system. Each time the system boots 
	(or after a user has used "OFFLIN" below), the MAILON program is run
	on the JOB. All this program does is ask for the user's EMAIL name and
	records this user as being on-line. After the MAILON program is run, 
	you may then run your normal "menu" shell, return them to the dot, or
	what-have-you. Below are two simple examples of what your ONLINE.CMD
	file might look like.

	a) if your system normally has a user at "the dot" on bootup:

				:R
				MAILON

				********* (end of VUE)

	b) if you have a "menu" program or ??? FORCEd to each user on bootup:

				:R
				MAILON
				RUN MENU	;or whatever....

				********* (end of VUE)


	"OFFLIN.CMD"

		This command file should be run each time a user logs off your
	system. All this command file does is run MAILOF to record the EMAIL
	user as off-line, runs LOGOUT.LIT to log the user off, and finally,
	makes the ONLINE program run again to capture the user on the next 
	logon. In other words, have your users enter in OFFLIN (or whatever
	you decide to call it) instead of LOGOFF. Below is an example of how
	OFFLIN.CMD might look:

				:R
				MAILOF
				LOGOUT
				MAILON

				********  (end of VUE)


	STEP 3 - Modifying AMOSL.INI to include AMUS EMAIL

		AMUS EMAIL requires slight modification of your bootup file
	AMOSL.INI. Below are the step to create your new bootup file.

	a) LOG SYS: - this will log you to where AMOSL.INI lives
	b) COPY EMAIL.INI=AMOSL.INI - copy AMOSL.INI and call EMAIL.INI
	c) VUE EMAIL.INI - VUE the copy of AMOSL.INI
	d) add in the following:

		where you see many "SYSTEM program name" lines, enter

				SYSTEM BOX:EMAIL.SYS

		and after the final "SYSTEM" command, enter in 

				MALINI

	e) where you see some lines similar to 

			"ATTACH TRM,JOB"
			"FORCE JOB"
			   "MEMORY xxxK"
				etc...

	   add in the as the LAST item on the list of items FORCEd to the JOB

			   "CMD:ONLINE"

	   (you should do this for each JOB that users will be using)

	f) FINISH from VUE - this writes the modifications to the disk
	g) LOG OPR: - log to the operator account
	h) test your new bootup file by entering in

			MONTST AMOSL,EMAIL.INI

	i) if it WORKS (You should see the MAILON program on each users
	   terminal), then proceed to (j) below, else reboot the system
	   with the reset button and return to step (a)... somewhere you
	   have made a mistake!
	j) make EMAIL.INI your permanent bootup file by entering in

			COPY AMOSL.INI=EMAIL.INI

	    EMAIL is now up and running and you are ready to go!




	FILE STRUCTURE
	==============

		Below is a synopsis for those of you who would like to know
	how the EMAIL system files are used.

	EMAIL.DAT (located in the BOX: account, DSK0:[7,2])
		EMAIL.DAT is a random file that allocates 1 block per EMAIL
	user. If you defined 40 EMAIL users as the maximum number of users,
	then EMAIL.DAT is 40 blocks long. Each block contains the following
	breakdown:
	
		- 40 records of 6 bytes that contain USERS MAIL
			a) read/new flag	2 bytes
			b) filename (packed)	4 bytes
						-------
						6 bytes (total 240)

		- 40 records of 4 bytes that contain UNREAD MAIL
			a) filename (packed)	4 bytes
						-------
						4 bytes (total 160)
							-----------
							sub-total:400

	*	in addition, there is an 80 byte "auto reply" buffer holding
		user's cute auto reply in ASCII at offset 400

		As you can see, there are some limits to the EMAIL system. You
	are allowed to have up to 40 new and saved mail, plus 40 unread mail
	files per user. If a user has all 40 slots filled in the new/saved
	mail array, no other user will be able to send mail to this user until
	this user creates space with the DELETE option in EMAIL. If the user's
	UNREAD mail array is full, the user still may send out messages, but
	EMAIL will not record these messages in the senders UNREAD listing.

		As more users are defined on the system as your system grows,
	more and more of EMAIL.DAT is used (1 block/user). This is why you 
	should be liberal in your allocation of "maximum number of EMAIL
	users". Better safe than sorry, so be sure to leave room for growth.

		When a user is DELETED from EMAIL via MAILOP, the block is
	"up for grabs" by the next new user added to EMAIL. If there was some
	new/saved mail or unread mail left by the deleted user, this new user
	would "see" this junk. Therefore, remember: always clean out a user's
	mailbox who is going to be deleted BEFORE you delete them. This will
	leave your new EMAIL user with a clean slate.

	EMAIL.SYS (located in the BOX: account, DSK0:[7,2])
		EMAIL.SYS is just a "dummy" sequential file that gets loaded
	into system memory at bootup to reserve space for the EMAIL.USR data.
	EMAIL.SYS has a size of one block more than EMAIL.USR (for buffer
	safety and pointer compensation). This file contains absolutely
	nothing but nulls ("0"), but is very important to the operation of
	EMAIL.

	EMAIL.USR (located in the BOX: account, DSK0:[7,2])
		EMAIL.USR is a random file that is INT(max user number/20) in
	size. When the file is created via MAILOP, the only "live" data is the
	relative block number pointer into EMAIL.DAT: user number 1 has the
	first block of EMAIL.DAT, user number 2 the second block, etc. When
	a user is actually defined on the system via MAILOP, the user's NAME
	and PASSWORD are written to EMAIL.USR. The other variables for the 
	user (see below) are alway nulls ("0's") in this file.
		Each block of EMAIL.USR holds statistics for 20 users. Each
	user occupies a total of 24 bytes. Below is the breakdown:

	      -	Each user occupies 24 bytes as follows:
			- name (packed rad50)		4 bytes
			- password (packed rad50)	4 bytes
			- record pointer to .DAT	2 bytes
			- record "in use" semaphore	2 bytes
			- 3 JOBIDX records	       12 bytes
						       ---------
			TOTAL ARRAY SIZE PER USER:	24 bytes

	*	There are 480 bytes used in each block, 32 bytes are unused
		per block. This was done to make programming easier (divisible
		by 20 much easier than 21!).

	*	The first block contains a count of the total number of blocks
		in EMAIL.USR located at offset 508. inside block "0".

	*	EMAIL.USR is loaded into system memory, replacing a bogus file
		EMAIL.SYS byte for byte (mirror image of EMAIL.USR in system).
		The MALINI program does this copy for us.

	*	EMAIL.SYS will now dynamically be updated when users log on
		and off and when updates to EMAIL.DAT are critical (their
		semaphore and IDX values ONLY).


	FILES CREATED BY EMAIL
	======================

		EMAIL will always consist of the programs listed at the top of
	this document plus the EMAIL.DAT, EMAIL.USR, and EMAIL.SYS files that
	are created via MAILOP. However, EMAIL will also create other files on
	your system as users begin to employ EMAIL. Let's take a look at what
	files are created by EMAIL, which ones are "permanent", and which ones
	are "dynamic".

		There are 3 file types sent by a user: 1) a file created via
	VUE from within the EMAIL program,  2) a previously created VUE file
	NOT created from within EMAIL, and 3) a "bulk mailing" file.
		There is also a "USER.BLK" file created if the user ever 
	defines bulk mailing packets. 


	1) File Created via VUE from within EMAIL

	   When a VUE file from within EMAIL is created, the file is always
	located in the user's PPN who executed the EMAIL VUE command. The file
	will also always have a *.MAL extension. Upon a EMAIL SEND, the file
	is taken from whatever account the user was logged, and it is moved to
	the BOX: account. The name of the file remains the same, but the data
	inside the file is encoded so that no one may VUE or TYPE this mail
	message once sent except through EMAIL. This insures privacy.

		The actual name of the *.MAL file is rather UNIMPORTANT. A
	user may call their mail files any valid "garbage" name they like - 
	the filename is "transparent" to the EMAIL system as far as the end
	user is concerned. Therefore, a DIR on the BOX: account will more than
	likely display all sorts of wild names to you, all ending with .MAL.
	NEVER erase ANY file in the BOX: account that has a .MAL extension!!!

		After the user has sent a file of type (1) to a user and the
	file is encoded in the BOX: account, the original file plus the .BAK
	file that VUE created in the users PPN is then ERASEd! Note ERASEd.
	This keeps all PPNs clear of *.MAL files that were sent via EMAIL.


	2) File created in PPN outside of EMAIL

	   If a user first creates a VUE file (or for that matter, uploads an
	ASCII file via modem) in a PPN and this file DOES NOT END WITH .MAL,
	then the user may send this file via EMAIL to a user and EMAIL will
	NOT ERASE this file. Only *.MAL files that are sent via	EMAIL are
	ERASEd. However, once the user sends this file once, they may not send
	this file to anyone else unless they RENAME the file (EMAIL will give
	the user instructions in this case since every *.MAL file in the BOX:
	account must be unique).


	3) File created (or not) via EMAIL sent with the BULK option

	   When a user needs to send an identical message to a group of users,
	then they may create a VUE file from within EMAIL and use the BULK
	option. This option takes the filespec and creates "random" filenames
	and sends a unique filename copy to each specified user in the BULK
	packet. If the ASCII file had a .MAL extension, the .MAL file and the
	corresponding .BAK file would be deleted after all copies of the 
	original were sent. If the file was NOT a .MAL file, the file will
	remain in the user's PPN. The "random filenames" are created via the
	system time, so you will also see many "######.MAL" files in the BOX:
	account. Do not erase these files.


		In addition to the *.MAL files created by EMAIL, if a user
	ever decides to create bulk mailing packets, there will be a file
	created in the BOX: account that has a filename of "email user.BLK".
	(i.e., DAVE.BLK for EMAIL user Dave). This file is a one block random
	file that contains this user's unique bulk mailing "packets" (a packet
	may contain up to 15 EMAIL users inside). Here is how this one block
	file is broken down:

		- bulk mailing "packets" that contain the following:
			Name of Packet (packed RAD50)	4 bytes
			Names of users (packed RAD50)	4 bytes/user (15 max)			
							---------------------
				total per packet:      64 bytes
				  8 packets/user:     512 bytes





	USING WHOSON.LIT
	================

		WHOSON.LIT is a bonus program. It is almost identical to the
	WHO option from within EMAIL. This program will look at EMAIL.SYS and
	list all users who are defined on EMAIL. Users who are on-line are
	displayed in bright, off-line users are displayed in dim.