
	How to use the Wayne's Mail Server
	====================================

The Wayne's Mail Server can be reached at e-mail address
"hp-mail-server@seq.uncwil.edu".   
If your mailer doesn't understand domain addresses, 
try a nearby gateway like "uunet".

When the Mail Server receives a message, It reads the mail headers
to determine the requester's address. If a "Reply-To:" header is
found, the indicated address is used. If not, it uses the address as
specified in the "From:" header.  You can overide this path with
the path command below.

The message body is scanned for server commands. Every line in the
message should contain a valid server command.

A report is sent to you by return mail. Any requests will be handled
as soon as the load of the server system permits.

	NOTE: The mail server is still under development. Things
	may -and will- change in the near future.

The Server's Archives
=====================
By default the server get files from the HP-48 archive.  If you want to
use the HP-28 archive include the HP28 command below.

Files are stored in the archives in one of the following formats:

Plain: normal ASCII text.

Shell Archive: ASCII files which can be unloaded using the
    Unix sh(1) program.
    Shell Archives have names ending in ".shar".

Compressed: 16-bit compression using the compress(1) utility.
    Compressed files have names ending in ".Z".

Tar: standard UNIX tar(1) format.
    Tar archives have names ending in ".tar".

Compressed Tar: compressed tar archive.
    Compressed tar archives have names ending in ".tar.Z".

When requesting a file you do not have to specify the format-specific
extension. A request for a file "foo" will automatically be changed to
"foo", "foo.tar", "foo.shar", "foo.Z", "foo.tar.Z" whichever is available.

The file "INDEX" contains a list of files in the archives.

Command Syntax
==============
A command consists of a keyword (verb), followed by zero or more
arguments, depending on the command. Command verbs may be specified in
all uppercase letters, lowercase or whatever mixed case. In other
words: case is not significant in command verbs. Case *IS* significant
in command arguments.
Empty lines are ignored.

The following commands are understood by the server:

PATH <address>
--------------
    The return address used by the server is set to the indicated
    <address>. This must be a valid address by which you can be
    reached. It may contain a domain-based address.
    Use this command if you are not sure that the return addresses
    generated by your mail system are reliable.

END or EXIT
-----------
    The remainder of the message is ignored. This can be useful if a
    .signature is appended to the message.

LIMIT <number>
--------------
    Specify the maximum number of bytes which may be sent in a single
    mail message. Transfers exceeding this amount will be split
    before sending.
    The amount may be specified in Kbytes, e.g. "30K".
    The default value is 64K.
    NOTE: setting the limit will only affect "send" and "resend"
    commands following this command.
    NOTE: due to mailer overhead, it is possible that the size of the
    mail which reaches you will (slightly) exceed this limit.

HP28
----
    Use the HP-28 archive for ALL commands.  Note: it is not possible at
    this time to get files from both the HP-48 directory and the HP-28
    directory in one message.

UUENCODE
--------
    The requested items will be uuencoded before sending. Because most
    archives are binary files, they are always encoded before sending.
    Uuencoding is default.
    Use "send uudecode" to obtain the uudecode/uuencode programs.
    NOTE: setting the encoding will only affect "send" and "resend"
    commands following this command.

BTOA
----
    The requested files will be encoded using "btoa". Btoa encoded
    files are smaller than uuencoded files, but not everyone can
    handle btoa encoded files yet.
    Use "send btoa" to obtain the btoa/atob coding programs.
    NOTE: setting the encoding will only affect "send" and "resend"
    commands following this command.

SEND <item>
-----------
    The specified <item> is looked up in the server archives. If
    found, it will be sent to you by e-mail. Multiple items may be
    specified with one SEND command.
    NOTE: the names of the <item>s are case sentive!

RESEND <item> <part> [<part>...]
--------------------------------
    Re-send the indicated <part>s of this item. This is useful if not
    all parts of a multi-parts transmission did arrive correctly.
    When re-transmitting, the encoding and limit used must be
    identical to those of the original transmission.

LATEST <days>
-------------
    Prints a list of all of the files that have been added to
    the current archive in the last <days> days.

HELP
----
    This command gives a list of server commands.

TEST
----
    This command is for testing. No files will be sent if you use
    this, but a confirmation message will be sent to the return path as
    determined from the mail headers or the "path" command.  You may
    use this to find out if your address is valid, and to check the
    status of your request.
   
Sample Mail Server Report
=========================

Sending:

	path jv@mh.nl
	btoa
	send INDEX bio
	resend zoo 2 3 4
	send foo
	end

will generate the following report:

	From: Wayne's Mail Server <wscott@ecn.purdue.edu>
[1]	To: jv@mh.nl
	Subject: Your request
	Date: Sun, 1 Oct 89 18:25:39 MET (+0100)

	Wayne's Mail Server 1.0

	Processing mail headers ...
[2]	Return address: "Johan Vromans <jv@mhres.mh.nl>"

	Processing message contents...

	Command: path jv@mh.nl
[3]	=> Return address: "jv@mh.nl"

	Command: btoa
	=> Encoding = btoa

	Command: send INDEX bio
	=> Send: INDEX
	=> Send: bio

	Command: resend zoo 2 3 4
	=> Resend: zoo, parts 2,3,4

	Command: send foo
	=> Send: foo

	Command: end
	=> Okay

	Your message has been processed.
	The following requests have been queued:

	  request format (uncoded size) encoding limit remarks
	  ------- --------------------- -------- ----- -------
[4]	  INDEX   Plain (5K)            plain
	  bio     Compressed Tar (6K)   btoa       64K
	  zoo     Compressed Tar (171K) btoa       64K Parts 2,3,4 only
	  foo     Unknown                              Request skipped

	These requests will be sent to you as soon as the load of
	the server system permits.

	Mail Server finished.

As you can see, the return mail is sent to the address [1] indicated
by the PATH command [3]. If the PATH command were not issued, the
address from the message header [2] would have been used.
In the list of requests [4] the format and the size of the files are
shown. Note that the size is the size *before encoding*!
Finally, the request "foo" could not be found and is skipped.

Some time later the following mails will arrive:

    From                  Size      Subject
    -------------------- --------- ----------------------------------
    Wayne's Mail Server   73/4301  "INDEX (complete) ascii"
    Wayne's Mail Server   96/7394  "bio.tar.Z (complete) btoa encoded"
    Wayne's Mail Server  829/65453 "zoo.tar.Z (part 2 of 4) btoa encoded"
    Wayne's Mail Server  829/65453 "zoo.tar.Z (part 3 of 4) btoa encoded"
    Wayne's Mail Server  325/25578 "zoo.tar.Z (part 4 of 4) btoa encoded"

Files which are sent in parts have all pieces clearly marked as such:

    ------ begin of zoo.tar.Z -- btoa encoded -- part 2 of 4 ------
    #(_0M#C)R-&3BEIu9#I[oEFn;50r5kb6%CJq%=NMgE3in`tMpnX0rOEYPWNM...
    =69S\PiSodA"*lArTZ.-(g6DL2A6_5>DMuFV/&S7H/]XEgLe(l@e;-Rqr:iZ...
    ...
    ...
    $`eP&iGea"a#e[F!oeo1r@U/FP;::i"V)j_EW+.(U*&IrTJ+u'9=$MY7s*CC...
    uI=a5*Wj^#1LD,&>MZKY@H1_a9QE$$4[+?[ePhh"h2Ub"/a,(ES*ZH"nK"6d...
    ------ end of zoo.tar.Z -- btoa encoded -- part 2 of 4 ------

Unpacking
=========
You may obtain the following packages from the server:

    btoa	   btoa/atob support programs
    uudecode	   uuencode/uudecode support programs
    PC.starter     A text file with how to get uudecode on your PC.
    compression    A list of available compression program and where to find 
		   them.

These packages are send unencoded.

If you have Larry Wall's "perl" program, you can retrieve the program
"unpack.pl" from the server. This will help you in unpacking the
mails.

Send me mail if you have problems unpacking some files.

Submissions
===========

If you have any program you think I should have in my archive, just mail
them to me.  (same address different subject)  I am always happy to
expand my archive.


By the way: the server software is also written in perl.
The software is based on the Multihouse Research Mail Server 1.23

For questions, information and remarks:

	Wayne Scott

_______________________________________________________________________________
Wayne Scott             |  INTERNET:   wscott@ecn.purdue.edu
Electrical Engineering  |  BITNET:     wscott%ecn.purdue.edu@purccvm
Purdue University       |  UUCP:      {purdue, pur-ee}!ecn.purdue.edu!wscott
_______________________________________________________________________________
				"To iterate is human.  To recurse, divine."
