[comp.protocols.appletalk] E-Mail Mac/UNIX

fxa@berlin.acss.umn.edu ("Farhad Anklesaria") (10/29/88)

For all you UNIX/Mac E-mail fans out there, here is a free, easy to use
mail link between Macs and UNIX boxes: our simple (relatively) Piece
Mail package.  This had been posted to info-appletalk earlier this
summer as a proof-of-concept;  this posting describes how the complete
package works and how to get it by anonymous ftp.

What is Piece Mail?
-------------------
Like lots of schools, we have Unix boxes running CAP, file serving for
Macs (via KIP on FastPaths).  We also have needed an E-Mail solution
that would provide easy access to Mac-to-Mac and Internet mail for
users that don't know (and don't want to learn) UNIX.  Ideally, a
Mac-based mailer that could put SMTP packets on Ethernet is desired,
and we're working on that as a longer term solution.  However we
noticed that almost all the parts necessary for Mac-UNIX mail already
existed and we just had to put the building blocks together, to produce
such a mail system.

We came up with something called "Piece Mail" which basically 
consists of:
        1. A modified CAP AppleShare server on a UNIX machine.
        2. A (bkgnd, user-level) csh script run by CAP.
        3. UNIX mail.
        4. A tiny Mac application that runs in the background
           under MultiFinder (System 6.0+)
		   
When a user mounts a CAP volume (using Chooser) on his Mac, the aufs
daemon forks a process that handles the afp requests from the Mac. If
the CAP user has a file called .pmail in his login directory, the
modified aufs daemon will also run that file.

The user's .pmail file is a csh script that periodically transfers
incoming UNIX mail to his PieceMail CAP directory (afpvol called "Mail"
on the Mac).  If the Mac user has mounted this volume on his desktop
and wants to be notified when new mail arrives, he can run a small
application called Nag in the background under MultiFinder.  Nag uses
the Notification Manager to inform the user that mail has arrived.
(Nag peeks in any selected volume/folderevery so often looking for new
files).  The Mac user just drags the new mail file (it's a text file)
over to his local disk and proceeds to read it with his favorite Mac
editor or word processor.  Guess he could also read it in-situ.

To send UNIX mail, the Mac user creates a text file with Mac editor or
word processor.  The first line of the file must contain the user name
of the recepient (standard mail syntax eg:  john@host).  The second
line should contain the subject.  The rest of the file constitutes the
content of the message.  The user just drags the file into a specified
CAP folder ("SendMail").  The .pmail script also periodically peeks
into a this "SendMail" subdirectory and submits any files it finds to
the UNIX mailer.

When the user unmounts the CAP volume (drags it to the trash), his UNIX
afp server process dies and kills the user's .pmail process also.

Note that this technique is not limited to UNIX. A similar approach
should also work on VMS VAXen, since AppleShare fileserver software is
available to run under VMS.  The advantage of this approach is that
naive users can work in an environment they know (the Mac OS) using a
word processor that they already know (MacWrite, Messy Word) and still
send mail to users on larger machines.

We have been using Piece Mail here for several months and it has been
working reliably.  It ain't SMTP mail for the Mac, but it sure beats
trying to teach adminstrators and secretaries how to use UNIX (or VMS)
so that they can read/send mail...

Another nice thing about Piece Mail is that its free...

The patches to CAP, the assorted scripts, sources to Nag, and building
instructions are available for anonymous ftp from
        
    berlin.acss.umn.edu    (128.101.193.1)

Look in the pub directory for piecemail.tar.
(Use binary transfer...)

As usual, flames to /dev/null

Farhad Anklesaria   fxa@berlin.acss.umn.edu           farhad@UMNACVX.BITNET
George Gonzalez     grg@berlin.acss.umn.edu           grg@UMNACVX.BITNET
Mark McCahill       mpm@berlin.acss.umn.edu           mpm@UMNACVX.BITNET