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.