INTRODUCTION
~~~~~~~~~~~~
MASTGATE is set of programs for implementing dial-up UUCP
gateway for Pegasus Mail. This text describes each of these
utilities and briefly explains setup procedure. The distribution
file includes the example setup, this text and executables.
MASTGATE is shareware. It is not crippled in any way and is
fully functional without any expiration time etc. The only
limitation is that it is 100 user version. This does not mean,
that you cannot use it on your 250 user NetWare - the 100 user
limitation basically means that the software cannot handle more
that 100 users at a time (see a comment about memory usage in
SETTING UP section below).
If you decide to register (please do) then I am asking $25 US
for the whole thing. This will give you my full support and free
upgrades, I will also send you version for more users if you
need it. The fee is per one UUCP host (ie. if you get your mail
from 2 different hosts I would be extremely happy if you register
twice).
Due the banking and tax problems in Estonia, I ask you to send a
registration fee in a bit unusual manner - in snailmail. Just
send me a postcard (nude females graciously accepted :)) in
envelope with $25 (you can skip the postcard if you can't get one).
I prefer cash, but will accept cheques (hopefully I'll get at least half
of the money when I'm cashing them here). Include your Internet address
and I will contact you immediately after I get it. My addresses
are:
Snailmail E-mail
~~~~~~~~~ ~~~~~~
Madis Kaal Internet: mast@anubis.kbfi.ee
P.O. Box 19 FIDO: 2:490/33
EE0090
Tallinn Fax: (3726)313-021
Estonia
In any case, registered or not, please report any errors,
shortcomings and wishes to my Internet address. I would also
like to hear from you if you have any trouble installing this
software, so that I can explain things better in next version's
docs.
COPYRIGHTS
~~~~~~~~~~
PMAIL, WinPMAIL, Mercury and PMAIL for Mac are copyrighted products of
David Harris.
Waffle is copyrighted product of Darkside International.
UUCICO is copyrighted product of Darkside International and R.H.Lamb.
IMPORT3, EXPORT3, GLUE, SLEEPER and this document are
copyrighted products of Forex Communications Ltd.
UUCICO
~~~~~~
UUCICO.EXE in this package is from Waffle 1.65. Waffle's licence
allows distributing UUCICO freely because it's derived from
PD program. I you need DOC's for UUCICO, you will have to get
the whole package from some of the anonymous ftp sites. Look for
WAF165.ZIP.
EXPORT
~~~~~~
Export is a program that converts outbound UUCP mail from
PMAIL's gateway format (with "glue" headers) to separate files
for UUCICO.
If your version of PMAIL cannot create "glue" headers, you can
use the GLUE program, which scans messages and creates (or tries
it's best to create) these header lines.
Below is an example of export's section from control file (entries with
asterisks are optional):
[WAFFLE.EXPORT]
COUNTFILE = Z:\SPOOL\UUCP\MSGCOUNT.DAT
INPUT = Z:\SPOOL\UUCP
FILEMASK = *.CNM
OUTPUT = C:\MAILER\SPOOL\ANUBIS
TZ = "EET -2"
SITE = "forex.ee"
UUCPSITE = "forex"
* LOG = Z:\SPOOL\UUCP\UUCPMAIL.LOG
* MERCURY = NO
COUNTFILE specifies a file for keeping count of messages. This can be the
same for Import and Export.
INPUT and FILEMASK are joined to make up a mask four outbound
mail. The resulting files are stored to OUTPUT. TZ is your time
zone, SITE is your Internet node name and UUCPSITE is you
uucpname. LOG specifies the file for traffic logging.
Export needs all rights in INPUT and OUTPUT directories and for
LOG file.
Import, export, glue and sleeper user MASTGATE.INI in current
directory as default control file. You can specify another
control file as command line argument. Please notice, that each
of these program _requires_ all entries of the section to be
present and will fail if any of the entries is missing (telling
the name of the missing entry). The only exception is redirection
section for import (see below).
GLUE
~~~~
Glue is a poor mans replacement for PMAIL 3. David Harris made up
the name and the concept for this program. It basically scans
messages and rewrites them with "glue" headers (if the message
does not have these yet). Glue distinguishes between normal messages
and BCC: messages on the assumption that normal messages do not have
BCC: line (ie. if the message has BCC: line, then it is delivered only
to BCC: addressee(s)). Even if you are using PMAIL 3 and
WinPMAIL 1.02, as far as I know, Mac version cannot create GLUE
headers yet.
Glue uses INPUT and FILEMASK entries from [WAFFLE.EXPORT] section
as files mask which get processed.
IMPORT
~~~~~~
Import does the reverse of export - takes files received by
UUCICO and delivers them to NetWare mail directories. Basically,
it extracts the user name from the RFC address and looks for a
NetWare user with the same name. If none is found, the message
is delivered to postmaster (defined in control file). Import
also sends a NetWare broadcast message after delivery to all
active users who had new mail. Mail can be redirected from one
user to another (or to several others, or to group).
Import can also handle NetWare groups and send a message to all
group members. Mailing to groups can be enabled on group basis
using the redirection section of control file.
Import does not know how to handle multiple servers, because I
only have one and I have no idea what happens if I have more.
Getting bindery ID probably fails and mail is delivered to
postmaster of the current server. However, possible workaround
is to use multiple control files and set POSTMASTER name to
nonexistant user. The batch should attach/create/login to each
server in turn and try to deliver mail to users on current
server. Set POSTMASTER to existing user on last server to get
unknown message delivered. Anyway, this is nasty and a kludge and
should not be done; if you have multiple servers, then you can
probably afford TCP/IP link and you can use Mercury or Charon.
Import uses two sections from control file, the example of main
section is below:
[WAFFLE.IMPORT]
COUNTFILE = Z:\SPOOL\UUCP\MSGCOUNT.DAT
SPOOLDIR = C:\MAILER\SPOOL\ANUBIS
FILEMASK = *.X
MAILDIR = Z:\MAIL
POSTMASTER = MAST
NOTIFY = YES
MESSAGE = "You have new mail from Internet"
* LOG = Z:\SPOOL\UUCP\UUCPMAIL.LOG
* GROUPDIR = Z:\SPOOL\UUCP\GROUPS
SELFNOTIFY = NO
WAFFLE165 = YES
STRIPPER = NO
* NAMEPART = 7
* NOTIFYPROG =
* MERCURY = NO
COUNTFILE is message counter file as for EXPORT.
NAMEPART is optional parameter and it tells Import how many characters
are significant in unix file name. It defaults to 7 if WAFFLE165 is set
to YES and to 5 is WAFFLE165 is set to NO.
GROUPDIR and NOTIFYPROG are needed for standalone and non-Netware
operation. MERCURY enables Mercury transport method.
SPOOLDIR is where UUCICO puts received files, FILEMASK specifies
what files to look for. MAILDIR is path to NetWare SYS:MAIL tree
and it should be mapped accordingly (Import needs C right to this
directory). POSTMASTER specifies the NetWare user who acts as
postmaster of your site. Notify, if set to 'YES', enables
NetWare broadcasts on received mail and MESSAGE specifies the
notification message text. LOG is file used for traffic logging.
SELFNOTIFY, if set to 'YES' enables sending of the broadcast
message to import's own connection (more through explanation
follows below). Import needs all rights for LOG and SPOOLDIR.
WAFFLE165 and STRIPPER affect the way of UNIX to DOS filename
translation. If you are using older UUCICO, you may try to set
WAFFLE165 to 'NO'. If you are having trouble even if you use
the included UUCICO, try setting STRIPPER to 'YES'.
Another, optional, section of the control file is used for mail
redirection and enabling group mail.
[WAFFLE.IMPORT.REDIRECT]
GUESTUSER = GUEST
ALLUSERS = #EVERYONE
MULTIPLE = GUEST, SUPERVISOR, #OFFICE
In this example, if mail is received for 'GUESTUSER', it is sent
to NetWare's 'GUEST' user instead. 'ALLUSERS' is mapped to
NetWare group '#EVERYONE' (to make NetWare's EVERYONE group
available under the same name, you would say EVERYONE=#EVERYONE).
'MULTIPLE' is mapped to three separate users, one of them is
actually a NetWare group (so the copy of message is sent to
'GUEST', 'SUPERVISOR' and all members of NetWare's 'OFFICE'
group).
SLEEPER
~~~~~~~
Sleeper is a simple utility for wasting time. Basically, what it
does is scanning PMAIL's outbound mail directory every N minutes
and exiting if any outbound is found. It also counts minutes since
last mail session and exits when given number of minutes is passed.
[WAFFLE.SLEEPER]
POLLFREQ = 30
SCANFREQ = 1
EXITFLAG = Z:\MAIL\UUCP\*.CNM
SCANFREQ is a number of minutes between scanning for EXITFLAG.
POLLFREQ is a maximum number of minutes that SLEEPER waits for
EXITFLAG to appear, if EXITFLAG is not found in this time,
SLEEPER exits anyway.
You can force sleeper to exit by pressing ESC or CR and to skip
one-minute delay with pressing any other key. Sleeper normally
exits with errorlevel 0, but if you press ESC, errorlevel will
be 1 and if your press CR errorlevel will be 2.
SETTING UP
~~~~~~~~~~
Basically, you have 3 options for running the gateway:
a) dedicated machine
b) manual running on non-dedicated machine
c) running as background task under multitasking
environment (DESQview, MS-Windows enhanced mode).
a) This is the easiest and most reliable method. You just get
one of your old XT's, set up a modem and run the batch file from
AUTOEXEC.BAT (an example of this file is included in the
package).
b) You just run IMPORT, UUCICO and EXPORT whenever you feel like
it. Most sites just run the included POLLUUCP batch file when
they leave the office at the evening and have their mail waiting
in the morning.
c) A cheap alternative of a). PIF file for doing it under Windows
is included in the package. This is a case where SELFNOTIFY
entry of import's section kicks in. If you enable SELFNOTIFY,
then import would send notification to the user who runs gateway
in background task (ie. to itself) and possibly freeze itself.
If Windows is in graphics mode, a nice dialog pops up, but if
user is in the text mode, broadcast message gets sent to
text-mode screen, which is not necessarily the same that user
looks to (in fact, it's almost always the gateway's task
screen). The downside of this is that the user who runs
gateway will not get notified about new mail received by
gateway.
I'm running gateway in 200K to be safe, but it should run in
much less, depending on amount of messages and number of
addressees per message (for example sending mail to #EVERYONE
creates a delivery list of all users in your network, each
user taking about 140 additional bytes of memory). I have no
idea how much UUCICO needs.
Note, that this method may lose characters like hell, unless you
are using FOSSIL draiver (like X00 or BNU) which UUCICO can then
use _and_ you have 16550A UART chip.
Example setup is included in the package. Create MAILER
directory below the root (I suggest c:\, because all of my setup
uses c: and z:) and unzip the SETUP.ZIP with -d option into this
directory. This creates a directory structure for UUCICO. You
need to change ANUBIS under SPOOL to your own host's name and
edit control files:
\MAILER\POLLUUCP.BAT
host name
\MAILER\WAFFLE.CTL
hardware parameters, system names, directories
\MAILER\WAFFLE\UUCP\DIALERS
\MAILER\WAFFLE\UUCP\SCRIPS
\MAILER\WAFFLE\UUCP\SYSTEMS
hostnames, login scripts, phone number, login names and passwords.
(see UUCICOs documentation for more information).
Note, that you can make several entries for a single system in
SYSTEMS file, each with different phone number - UUCICO will
then try all these numbers until it gets an answer.
Set up PMAIL's external gateway with PCONFIG similar to this:
Gateway name : INTERNET
New mail path :
Is | a program to run? : N
New mail search mask : *.CNM
Outgoing mail path : z:\spool\uucp <- set this to your's
Run for outgoing mail :
Filename format : ~d~d.CNM
Run to validate address :
Reply address format : ~n@forex.ee (~p) <- and this
Accepts SMTP addresses? : Y
Simple message headers? : 'Glue' headers
UUEncode attachments? : Y
Burst messages? : N
Strip GW name? : Y
Force all mail through? : N
Create spool directory for gateway, grant C right to everyone
and all rights to your gateway machine (or to user who runs
gateway in background). Try to write a message with SMTP address
and make sure that PMAIL can write it to spool directory and the
message is in correct format, with correct 'From:' address.