home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / mg109.zip / MAILGATE.DOC < prev    next >
Text File  |  1995-11-22  |  29KB  |  836 lines

  1.                      MailGate 1.09
  2.  
  3.                Copyright (c) Dave Hamilton 1995
  4.  
  5.  
  6.  
  7.  
  8.                         WARNING
  9.  
  10.     This is shareware. It is not guaranteed to do anything, or
  11.     to not do anything. Use it at your own risk.
  12.  
  13.     This software is not free. If you don't want to register it,
  14.     please remove it from your system or give it to someone else to
  15.     try.
  16.  
  17.     See the section on Registration at the end of this document.
  18.  
  19.  
  20.                   Acknowledgements
  21.  
  22. OS/2, Warp, and IBM's version of SENDMAIL are copyright (c) IBM Corp.
  23. Msgapi32.dll and Squish are copyright (c) SCI Communications, and are
  24.     trademarks of Lanius Corporation.
  25. FleetStreet is copyright (c) by Michael Hohner and Harry Herrmannsdorfer.
  26.  
  27. Many thanks go to:
  28.  
  29.     - Niel Kempson, who gets out his email after a walk in the Alps
  30.  
  31.     - Pete Norloff, for his kind, thoughtful, and thorough feedback
  32.  
  33.     - Eric Allman, for giving us Sendmail and still hanging in there
  34.         in comp.mail.sendmail
  35.  
  36.  
  37.  
  38.  
  39.  
  40. 1.1 What is MailGate ?
  41.  
  42.     MailGate allows multi-user mail on an OS/2 system or LAN.
  43.  
  44.     MailGate is a command-line program that acts as an interface between
  45.     OS/2's Sendmail and your BBS Message Base. Typically, you set up
  46.     one Message area for Email. Your users can then send and receive
  47.     internet mail via this area. MailGate retrieves incoming mail that
  48.     has been received by SENDMAIL, confirms that the addresee exists
  49.     in your user base, and places the mail in this area, addressed
  50.     to this user. MailGate can also scan outgoing mail out of this area
  51.     and send it out of your system via SENDMAIL.
  52.  
  53. 1.2    Installation
  54.  
  55.     Create a directory for MailGate (typically C:\MM ) and place
  56.     the files from the .zip file in that directory.
  57.  
  58.     If you don't already have msgapi32.dll on your system, copy
  59.     the one in this distribution to a directory in your LIB path.
  60.  
  61.     Create MailGate's User file. If you're using Maximus as a BBS,
  62.     you can use the makeuf.exe utility included with MailGate. Decide
  63.     where you want the user file to be (usually in your \mm directory
  64.     or your \max directory) and run the utility, specifying the path
  65.     to your USER.BBS file, and the path to where you want the user 
  66.     file. Example:
  67.  
  68.         makeuf \Max\ \MG\
  69.  
  70.     If you don't want makeuf to create aliases in the UserFile
  71.     from the alias fields in your User.BBS file, specify the
  72.     commandline switch -noalias. Example
  73.  
  74.         makeuf \Max\ \MG\ -noalias
  75.  
  76.     If you use makeuf, you should be aware that MailGate supports
  77.     one-word user names as well as firstname.lastname@yourdomain.
  78.     MailGate will use the Alias field from USER.BBS as a mailing
  79.     alias. You can have Aliases turned off in Max but still use
  80.     them for email addresses. If you use the -noalias switch when
  81.     running makeuf, aliases will not be copied from your User.BBS
  82.     file. However, you can still use aliases by manually entering
  83.     users into the UserFile.
  84.  
  85.     If you don't use Max, you can create the user file with any
  86.     text editor.
  87.  
  88.     The file must be called USERFILE (you don't have to use upper case)
  89.     and you must specify where it is located in your MailGate.Cfg
  90.     file.
  91.  
  92.     The format of the file is:
  93.  
  94.         Firstname Lastname [, alias]
  95.  
  96.     Note that the alias is optional, but if you use it, MailGate will
  97.     look for one-word mail recipients as aliases.
  98.  
  99.     Copy Sample.Cfg to MailGate.Cfg
  100.  
  101.     Edit MailGate.Cfg file to suit your needs. Items in the config file
  102.     are fully documented. Any line that begins with a hash (#) is
  103.     a comment. MailGate ignores these and blank lines.
  104.  
  105.     Add the line:
  106.  
  107.         SET MAILGATE=\MG\
  108.  
  109.     (or whatever MailGate's home directory is) to your CONFIG.SYS.
  110.     MailGate looks for the environment variable MAILGATE to find its
  111.     configuration file. If you don't set this variable, you can
  112.     always run MailGate in its own directory.
  113.  
  114.     Copy MailGate.EXE to a directory in your PATH.
  115.  
  116.     AFTER you have set up MailGate.Cfg to suit your needs, compile
  117.     your user data base. Type:
  118.  
  119.         MAKEIDX
  120.  
  121.     MailGate determines where to put the compiled files from your
  122.     configuration. If you have specified either a UserFile location
  123.     or a User.BBS location, MailGate places the indexed files in
  124.     the first of those locations it encounters when reading MailGate.Cfg.
  125.  
  126.     On startup, MailGate uses the same approach to locate its indexed
  127.     files. If it finds them, it uses them.
  128.  
  129.     
  130.  
  131. 1.2 How Does it Work ?
  132.  
  133.     MailGate, if run without any commands or command-line switches,
  134.     will simply report any mail that is sitting in SENDMAIL's inbound
  135.     directory - who it's from and who it's to.
  136.  
  137.     When run with the -in switch,
  138.  
  139.         MailGate -in
  140.  
  141.     MailGate reads all the mail in SENDMAIL's server inbox, converts
  142.     it to your message base format, either Squish or *.MSG, and places
  143.     the mail in your message area for your users to read.
  144.  
  145.     When run with the -out switch,
  146.  
  147.         MailGate -out
  148.  
  149.     MailGate scans the Email message base defined in MailGate.Cfg for
  150.     outgoing mail. If any messages are found, they are sent via
  151.     SENDMAIL.
  152.  
  153. 1.3    Other Command Line Switches
  154.  
  155.     -v    Verbose mode - MailGate will display a running commentary on
  156.         everything it does.
  157.  
  158.     -l    Logging - MailGate will create the file MailGate.Log in its home
  159.         directory. This is useful for running MailGate as a background
  160.         or CRON-scheduled task.
  161.  
  162.     -po Peek at Outbound - MailGate will scan your Email area rapidly,
  163.         not reading messages but counting messages that will be
  164.         scanned out. This lets you know if there is any mail to
  165.         go out without running MailGate -out
  166.  
  167.     -pi    Peek at Inbound - This will give you a quick report of mail
  168.         that is sitting in SENDMAIL's inbox, waiting to be tossed
  169.         into your Email area.
  170.  
  171.     -pq Peek at Queue - At the time of this writing, IBM has not
  172.         implemented an outbound queue listing service in SENDMAIL.
  173.         When you use this option, MailGate lists messages that have
  174.         been passed to SENDMAIL but have not yet been sent by
  175.         SENDMAIL. This could be an indication of a problem with
  176.         your ISP's routing, or with the recipient's routing.
  177.  
  178.         You can concatenate the -p options together:
  179.  
  180.             -pioq
  181.  
  182.     -r    Reset the timestamp. This will set the last-looked time
  183.         to zero, so that all incoming mail will be checked when
  184.         you next look or scan.
  185.  
  186. 1.4    Without Command Line Switches
  187.  
  188.     Just type MailGate ( or MailGate -v ) for a report on what mail is
  189.     pending.
  190.  
  191. 2.0 About SENDMAIL
  192.  
  193.     When the internet access kit is installed, it defaults to using
  194.     the SMTP (Simple-Mail-Transport-Protocol) protocol for receiving
  195.     mail, and POP (Post-Office-Protocol) for sending it. POP is a
  196.     single-user protocol. Users must use a login name and password
  197.     to access their mail.
  198.  
  199.     There are two widely distributed versions of SENDMAIL for OS/2.
  200.     One works with Ultimail, the other with the older LaMail. These
  201.     versions behave slightly differently. If you use either of these
  202.     programs, you must have a MailStyle=Ultimail, or MailStyle=LaMail
  203.     line in your MailGate.Cfg file for MailGate to interface completely
  204.     with your setup. If you don't put this line in your config file,
  205.     MailGate will still appear to work correctly, but information
  206.     created by SENDMAIL that is not obvious will not be correctly
  207.     updated.
  208.  
  209.     You need to set up SENDMAIL to use SMTP for both sending and 
  210.     receiving. If you're not sure how to do this, an excellent
  211.     source of information is contained in the file umsmtp03.zip
  212.     by Niel Kempson, available on wellknown internet sites, including
  213.     this author's site ( ftp.proven.com ). This file contains
  214.     in-depth documentation of the Warp release of SENDMAIL, as well
  215.     as sample SENDMAIL configuration files.
  216.  
  217.     If you really want to know everything there is to know about
  218.     SENDMAIL, read Sendmail by Bryan Costales et al, O'Reilly &
  219.     Associates.
  220.  
  221.     We have seen many systems that started out as a single OS/2
  222.     multi-user machine, and have had workstations added on a
  223.     network later. If your system is on a network, we strongly
  224.     urge you to consider using one machine for your BBS and
  225.     another for your internet mail and news, as a gateway. This
  226.     gives you more flexibility in your mailing setup and significantly
  227.     reduces competition for resources on your main machine. IBM's
  228.     version of SENDMAIL is extremely well suited to local networking
  229.     and distributed processing. Just an observation...
  230.  
  231.  
  232. 3.0    The MailGate.CFG File
  233.  
  234.     MailGate requires some information to run, which is contained in
  235.     the MailGate.Cfg file. A well-documented example is contained
  236.     in the distribution.
  237.  
  238.     You must edit this file using any OS/2 text editor (E.EXE will do)
  239.     and specify some paths and options to suit your system.
  240.  
  241. 3.1 MyAddr
  242.  
  243.     This line contains your FidoNet address, which you will have if
  244.     you are running a BBS. MailGate supports 4-D addresses. Example:
  245.  
  246.         MyAddr=1:229/622.2
  247.  
  248. 3.2    MyOrg
  249.  
  250.     This is the name of your organization. It is included in outbound
  251.     messages in the standard Organization: header. Example:
  252.  
  253.         MyOrg=Proven Systems
  254.  
  255. 3.3 MyDomain
  256.  
  257.     This is the full domain name of your mail server. If your mailing
  258.     address is george@hoochie.com, the domain name will be hoochie.com
  259.     Example:
  260.  
  261.         MyDomain=proven.com
  262.  
  263.     When processing inbound mail, MailGate only processes messages destined
  264.     for this domain, or for no domain (local messages). MailGate ignores
  265.     messages addressed to users with other email domains.
  266.  
  267. 3.4 LogFile
  268.  
  269.     Logging is optional. If you want MailGate to keep a log, you must
  270.     run it with the -l switch. If you do, this specifies the directory
  271.     path where the logfile will go. It does not contain the name of
  272.     the log file itself - MailGate will create that - it just needs to
  273.     know where you want it put. Example:
  274.  
  275.         LogFile=c:\MG\
  276.  
  277. 3.5 ServerInBox
  278.  
  279.     This is the pathway to SENDMAIL's inbox. MailGate will check this
  280.     when run without switches, or with the -i switch, for incoming
  281.     mail. Example:
  282.  
  283.         ServerInBox=c:\tcpip\umail\server\inbox\
  284.  
  285. 3.6    ServerOutBox
  286.  
  287.     This is the pathway to SENDMAIL's outgoing spool queue. MailGate
  288.     will ONLY access this path if you specify Send=Queue for the
  289.     sending method. Whether you specify Queue sending or not, it is
  290.     a good idea to declare this path. You will read several warning
  291.     messages throughout this document about using the Queue method
  292.     on a network. Please don't. Use the Pipe method instead.
  293.     Example:
  294.  
  295.         ServerOutBox=c:\tcpip\etc\mqueue\
  296.  
  297. 3.7    EmailArea
  298.  
  299.     This is the path to your Email BBS area. If your message base
  300.     is *.MSG (shudder) this line will be the path to where the
  301.     messages are stored. If this is a Squish message base, it is
  302.     the path and name of the message area. If this is a Squish area,
  303.     put a $ at the end of the line.
  304.  
  305.     Example for a *.MSG area:
  306.  
  307.         EmailArea=c:\Max\Msg\Email\
  308.  
  309.     Example for a Squish area:
  310.  
  311.         EmailArea=c:\Max\Msg\Email $
  312.  
  313. 3.8    BadArea
  314.  
  315.     This is the path to your BBS bad files area, usually called 
  316.     BAD_MGS. Optionally, you can have MailGate toss bad messages or
  317.     messages to users unknown to you into this area. The syntax is
  318.     the same as the Email area. If it's a *.MSG area, specify the
  319.     directory. If it's a Squish base, specify the path and name, and
  320.     put a $ at the end of the line.
  321.  
  322.     Example for a *.MSG area:
  323.  
  324.         BadArea=c:\Max\Msg\Bad\
  325.  
  326.     Example for a Squish area:
  327.  
  328.         BadArea=c:\Max\Msg\Bad $
  329.  
  330.     MailGate will only toss messages here if the TossBadMsgs line 
  331.     IS specified and the BounceBadMsgs line is NOT specified.
  332.  
  333. 3.9    FileAttachArea
  334.  
  335.     This line specifies the directory where MailGate should deposit
  336.     binary files it finds encapsulated in your mail messages. MailGate
  337.     automatically detects and decodes UUencoded files. 
  338.  
  339.     You can instruct MailGate to totally ignore encapsulated binary
  340.     files using the IgnoreFileAttach line. This only applies to
  341.     inbound messages. You can still send binary files by attaching
  342.     them to outbound messages, and MailGate will UUencode them.
  343.     Example:
  344.  
  345.         FileAttachArea=c:\Max\File\Uncheck
  346.  
  347. 3.10 UserFile
  348.  
  349.     This is the path, not including the filename, of where MailGate's
  350.     UserFile is located. Example:
  351.  
  352.         UserFile=c:\MG\
  353.  
  354. 3.11 Max2UserBBS
  355.  
  356.     If you use Maximus 2.x or 3.00, you can have MailGate search your
  357.     User.BBS file for users. In this case, you don't have to run MAKEUF
  358.     every time you make changes to your user base. If you are specifying
  359.     both UserFile and UserBBS, MailGate will search in both files
  360.     starting with whichever you specify first. Note that you can turn
  361.     off searching-by-alias using the UseBBSAlias=No line. This will
  362.     cause MailGate to ignore the alias field in your User.BBS file,
  363.     but it will still search for aliases in your UserFile.
  364.  
  365.     Example:
  366.  
  367.         Max2UserBBS=c:\Max\
  368.  
  369. 3.12 TossBadMsgs
  370.  
  371.     You can specify TossBadMsgs, BounceBadMsgs, or neither. If you
  372.     specify TossBadMsgs, MailGate will put mail for unknown users
  373.     in the area specified by BadArea.
  374.  
  375. 3.13 BounceBadMsgs
  376.  
  377.     If you specify BounceBadMsgs, MailGate will return to sender any
  378.     mail for which it cannot locate a valid, legal user. If you
  379.     don't specify either TossBadMsgs or BounceBadMsgs, MailGate will
  380.     skip such messages.
  381.  
  382. 3.14 Send
  383.  
  384.     There are currently two methods of sending mail: Pipe or Queue.
  385.     If your machine is on a network and the SENDMAIL directories
  386.     are on another machine, you MUST specify Pipe.
  387.  
  388.     Why the choices? If you specify Pipe, MailGate sends outgoing
  389.     messages by calling SENDMAIL, and pipes the messages to SENDMAIL.
  390.     This is not particularly fast, but it is very reliable. If 
  391.     SENDMAIL cannot connect with a destination host, it will enqueue
  392.     the message for later transmission by itself, and retry at a
  393.     later time to send the message.
  394.  
  395.     If you are on a single machine, you can specify Queue, in which
  396.     case MailGate will create the appropriate files in SENDMAIL's
  397.     outbound queue. SENDMAIL checks its outbound queue periodically,
  398.     and if there is anything in it, sends out the messages. This
  399.     method is ver fast in terms of getting the mail out of the
  400.     BBS base, and overall it is faster than piping the messages
  401.     one at a time.
  402.  
  403.     Examples:
  404.  
  405.         Send=Queue
  406.         Send=Pipe
  407.  
  408. 3.15 HideAHeaders
  409.  
  410.     RFC822 mail has a header and a body. The header is classified
  411.     by MailGate into two areas, A and B. Info contained in the A
  412.     part is To:, From:, Full-Name:, and Return-Path:. Info contained
  413.     in the B part is everything else that comes in in a header.
  414.     MailGate ALWAYS hides this information in the hidden control area
  415.     of each message, so this keyword is invoked by default.
  416.  
  417. 3.16 KeepAHeaders
  418.  
  419.     If you want to include A-Header information in your message body
  420.     so you can read it, specify this keyword in your .cfg file. Example:
  421.  
  422.         KeepAHeaders
  423.  
  424. 3.17 HideBHeaders
  425.  
  426.     Non-essential header information can also be stored in the hidden
  427.     area if you specify HideBHeaders. Most message editors have some
  428.     way of showing you the hidden information on demand. This is the
  429.     default choice for MailGate. Example:
  430.  
  431.         HideBHeaders
  432.  
  433. 3.18 KeepBHeaders
  434.  
  435.     If you want the Class B header information to show up in your
  436.     messages, specify this keyword. Example:
  437.  
  438.         KeepBHeaders
  439.  
  440. 3.19 SkipBHeaders
  441.  
  442.     If you're not interested in keeping the non-essential header
  443.     information at all, specify this keyword to instruct MailGate
  444.     to just skip over it. Example:
  445.  
  446.         SkipBHeaders
  447.  
  448. 3.20 NoOutboundKludges
  449.  
  450.     If you are using (recommended) a Local area for your email
  451.     message base, you don't need to worry about this option. If
  452.     you are using (not recommended) an EchoArea for your email,
  453.     Fido programs normally place a hidden PATH kludge after the
  454.     tearline (origin line). These will appear on an internet
  455.     mail editor. To have them ignored when scanning messages OUT
  456.     of your message base, include this line in your MailGate.Cfg:
  457.  
  458.         NoOutboundKludges
  459.  
  460. 3.21 NoOutboundSeenbys
  461.  
  462.     As in the situation above (section 3.20), Fidonet Echo areas
  463.     have a hidden line at the end of a message with a list of
  464.     systems that have seen the message. You should never remove
  465.     this line from incoming or existing messages. However, when
  466.     scanning them out to Email, you can direct MailGate to omit
  467.     this line by including in your MailGate.Cfg:
  468.  
  469.         NoOutboundSeenbys
  470.  
  471. 3.22 TextWidth
  472.  
  473.     Well-written Fido message editors allow the text to free flow
  474.     except for paragraph breaks. This lets editors with varying
  475.     screen widths format text in readable form. It is convention
  476.     however in internet mail to place carriage returns at the end
  477.     of lines. By default, MailGate sets the right margin at 70
  478.     characters, and word-wraps text that would exceed that limit
  479.     by starting a new line. You can set the TextWidth to any number
  480.     of columns from 40 to 80, but 65-75 are recommended. Example:
  481.  
  482.         TextWidth=70
  483.  
  484. 3.23 UseBBSAlias
  485.  
  486.     By default, MailGate will search your User.BBS file looking for
  487.     either a match in the alias field for one-word recipients, or
  488.     a match in the username field for multiple-word recipients. To
  489.     have MailGate ignore the alias field altogether, specify:
  490.  
  491.         UseBBSAlias=No
  492.  
  493.     When creating a UserFile using the utility Makeuf, use the 
  494.     commandline switch -noalias.
  495.  
  496. 3.24 MailStyle
  497.  
  498.     If your system is set up for LaMail, specify:
  499.  
  500.         MailStyle=LaMail
  501.  
  502.     If your system is set up for Ultimail, specify:
  503.  
  504.         MailStyle=Ultimail
  505.  
  506.     If you are not set up for either LaMail or Ultimail, leave
  507.     this specification line out of your .cfg file. Other interfaces
  508.     may be supported in the future.
  509.  
  510.     If you are using the Warp Internet Access Kit, install Ultimail
  511.     even if you don't plan to use it. This will ensure that SENDMAIL
  512.     is creating the .UML files. Then, specify:
  513.  
  514.         MailStyle=Ultimail
  515.  
  516. 3.25 UseTime
  517.  
  518.     If you specify a single line with:
  519.  
  520.         UseTime
  521.  
  522.     MailGate will remember when it last scanned mail in. On systems
  523.     that toss or bounce mail to unknown users, this will not be
  524.     relevent, but for those who keep mail to read with some other
  525.     mailer, it can speed up your processing. When MailGate checks
  526.     for inbound mail, if this line has been specified, it only
  527.     checks mail that has arrived since the last time it looked.
  528.  
  529.     If you want MailGate to re-scan older mail, you can either leave
  530.     this line out of your configuration, or you can reset the
  531.     timer by running:
  532.  
  533.         MailGate -r
  534.  
  535.     This will have the one-time effect of setting the last-looked
  536.     timer to zero which will cause MailGate to scan all mail
  537.     in the inbox.
  538.  
  539. 3.26 NoLocalFlag
  540.  
  541.     If you specify a single line with
  542.  
  543.         NoLocalFlag
  544.  
  545.     MailGate will not set the MSGLOCAL bit in your Squish/MSG base
  546.     when it tosses incoming mail. By default, this bit is set, but
  547.     it causes problems with some tossers/scanners.
  548.  
  549. 4.0    Sending Email
  550.  
  551.     We suggest setting up your Email area as a Local file area. This
  552.     way, when Squish scans, it will ignore this area.
  553.  
  554.     When a user wants to send email, she goes to this area via whatever
  555.     menu paths exist on your BBS and enters a new message. For her own
  556.     name (From:) she can either put Firstame Lastname, or she can enter
  557.     Firstname.Lastname@your.domain, or she can enter alias@your.domain.
  558.  
  559.     In the To: line, the user enters the email address of the recipient
  560.     of the message. If your message editor does not have enough room
  561.     to enter the email address, 
  562.  
  563.         Leave the To: line blank, and on the first line of the 
  564.         message body, enter:
  565.  
  566.             To:person@destination.address
  567.  
  568.         Leave the next line blank. Then, enter your message.
  569.  
  570.     If you are using a full-featured editor such as FleetStreet,
  571.     you can set it up so that when you are in the Email area,
  572.     your personal email address is used for the From: field.
  573.  
  574.     If your editor insists on having something in the To: field,
  575.     rather than leaving it blank, just put in something like 'list'.
  576.     It will be replaced by the real destination found on the first
  577.     line of the body when MailGate scans it out.
  578.  
  579.     Multiple Recipients:
  580.  
  581.     MailGate can handle sending a message to multiple recipients.
  582.     You can have multiple addresses on the To: line of the
  583.     body like this:
  584.  
  585.         To: harry@armes.com,
  586.             sam@quicksilver.com
  587.  
  588.     Just be sure that there are no blank lines until after the
  589.     addressing. The To: must be on the first line of the body.
  590.     Place a comma at the end of every line but the last one,
  591.     to tell MailGate that there are more lines.
  592.  
  593.     There must be at least one blank line after the addresses.
  594.  
  595.     Carbon Copies:
  596.  
  597.     MailGate can send carbon copies of a message to you or other
  598.     users. Specify carbon copies like this:
  599.  
  600.         To: harry@armes.com,
  601.             sam@quicksilver.com
  602.         Cc: daveh@proven.com
  603.  
  604.     As above, there must be no blank lines until after the addresses.
  605.  
  606.     Blind Carbons:
  607.  
  608.     RFC822 defines a blind-carbon copy field, and MailGate supports
  609.     it for the sake of convention. You would use this when sending
  610.     mail to a host where the message is send to a list of users,
  611.     and you know the name of the list. The receiving host will
  612.     take care of copying in everyone on its list. Example:
  613.  
  614.         To: harry@armes.com,
  615.             sam@quicksilver.com
  616.         Bcc: userlist@tohost.com
  617.  
  618. 5.0    Name-Alias Translations
  619.  
  620.     When sending mail, MailGate looks to see how many words are in
  621.     the sender's name. If there are more than one, MailGate considers
  622.     this to be the sender's BBS name. It then looks for an alias in
  623.     the UserFile, and if it finds one, uses alias@your.domain for the
  624.     sending address and return path. If MailGate finds a multiple-word
  625.     name but no corresponding alias, it uses first.last@your.domain as
  626.     the email address.
  627.  
  628.     If only one word is found in the sender's name, it is considered to
  629.     be an alias, but it is verified. MailGate then uses alias@your.domain
  630.     as the sender's address.
  631.  
  632.     When receiving mail, MailGate counts the number of words in the
  633.     recipient's name. If it finds only one, it looks for an alias in
  634.     the UserFile. If it finds one, it translates the alias to the
  635.     user's registered BBS name and files the message under that name
  636.     so that the BBS itself can recognize it. If MailGate finds multiple
  637.     words for the recipient's name, it considers them to be parts of
  638.     a BBS name, parses them out, and looks in the UserFile for
  639.     verification. If it finds the name, it saves the message.
  640.  
  641.     If neither a valid name nor a valid alias are found, MailGate
  642.     designates the message as Bad. It then behaves according to its
  643.     configuration file.
  644.  
  645.     If you have specified BouceBadMsgs, MailGate returns the message to
  646.     its sender.
  647.  
  648.     If you have specified TossBadMsgs, MailGate places the message in
  649.     the area you have defined as BadArea.
  650.  
  651.     If you have not specified either TossBadMsgs or BounceBadMsgs, the
  652.     message is left untouched in SENDMAIL's inbox.
  653.  
  654.     If you have logging turned on ( -l switch ) when MailGate is run,
  655.     a record of the action taken on received messages is kept.
  656.  
  657.  
  658. 6.0 How to reach us
  659.  
  660.     For problem reports, suggestions for future releases, and even
  661.     good news, you can reach us at:
  662.  
  663.         mailgate@proven.com
  664.  
  665.     or you can send Fido Netmail to Mail Gate at 1:229/622.
  666.  
  667. 7.0 Current Versions
  668.  
  669.     The current release is in mg109.zip.
  670.  
  671.     You can FREQ the current release from 1:229/622 using the
  672.     magic name MAILGATE, or you can download it from hobbes or:
  673.  
  674.         ftp.proven.com
  675.  
  676.     in the Os2/Inet directory.
  677.  
  678.  
  679. 8.0 The makeidx.exe utility
  680.  
  681.     Beginning with version 0.9, MailGate uses a compiled index
  682.     created from your User.BBS and/or UserFile. MAKEIDX scans
  683.     your MailGate.Cfg to determine which of these files you use,
  684.     and whether or not you permit the User.BBS alias field to
  685.     be used. It then creates the index files.
  686.  
  687.     Note that even if you don't allow your User.BBS alias field
  688.     to be used, aliases are still permitted and searched for in
  689.     your UserFile, allowing you to set up aliases for you and your
  690.     staff, but not for your users, or to create aliases for some
  691.     users in such case that you might be using the alias field
  692.     in your User.BBS for some other thing.
  693.  
  694.     Once the indexed files are compiled, MailGate automatically 
  695.     detects them and uses them.
  696.  
  697.     This process reduces the time for MailGate to validate a user
  698.     dramatically.
  699.  
  700. 9.0 The fu.exe utility
  701.  
  702.     You can lookup user names and/or aliases using the fu utility.
  703.     FU searches your files in the same sequence as MailGate does.
  704.     By default, fu expects as an argument either a name or an alias,
  705.     and returns the name for that user. Example:
  706.  
  707.         fu daveh
  708.            daveh is Dave Hamilton
  709.  
  710.     If you use the -a switch anywhere in the command line, fu will
  711.     return an alias from either a name or alias:
  712.  
  713.         fu dave hamilton -a
  714.            dave hamilton is daveh
  715.  
  716.     The -v switch can provide more information IF you have used a
  717.     User.BBS file to create your indexed files. In this case, pointers
  718.     to the User.BBS entries are maintained, and fu has access to
  719.     all the information contained about the user in your system.
  720.     Try looking up a user with the -v switch for a demonstration.
  721.  
  722.     This was originally developed for testing purposes, but it has
  723.     proven to be handy. We just thought we'd share it with you. Even
  724.     if you decide not to register MailGate, please keep it with our
  725.     compliments.
  726.  
  727. 10.0 Registration
  728.  
  729.     If you wish to use MailGate, please consider registering it.
  730.     Registration is $25. US. Registration will entitle you to
  731.     support responses and future upgrades. You can register either
  732.     by mail or through BMT Micro using pretty well any payment
  733.     method you can think of.
  734.  
  735.     Registering by Mail:
  736.  
  737.     Please print the form REGISTER.FRM and send it with your check
  738.     to:
  739.  
  740.         Dave Hamilton
  741.         220 Arthur Street
  742.         Newcastle, ON, CANADA, L1B 1L8
  743.  
  744.     We will send you a registration name and key via email, snailmail,
  745.     or netmail. Please indicate your choice on the registration form.
  746.  
  747.  
  748.     Registering with BMT Micro:
  749.  
  750.  
  751.                   Mail Orders To: BMT Micro
  752.                                   PO Box 15016
  753.                                   Wilmington, NC 28408
  754.                                   U.S.A.
  755.  
  756.                     Voice Orders: 9:00am - 7:00pm EST (-5 GMT)
  757.                                   (800) 414-4268 (orders only)
  758.                                   (910) 791-7052
  759.  
  760.                       Fax Orders: (910) 350-2937  24 hours / 7 Days
  761.  
  762.          Online Orders via modem: (910) 350-8061  10 lines, all 14.4K
  763.                                   (910) 799-0923  Direct 28.8K line
  764.  
  765.      Ordering and general ordering questions:
  766.                          Via AOL: bmtmicro
  767.                   via Compuserve: Thomas Bradford, 74031,307
  768.                     via Internet: thomas.bradford@bmtmicro.com
  769.  
  770.      We accept Visa, Mastercard, Discover, American Express, Money Order,
  771.      Cashiers Check, Personal Check.  Please do not send cash in the mail.
  772.      Personal checks are subject to clearance.
  773.  
  774.      Each copy of the package includes the latest version of MailGate.
  775.  
  776.  
  777.      Name ________________________________________________________________
  778.  
  779.      Address _____________________________________________________________
  780.  
  781.              _____________________________________________________________
  782.  
  783.      Phone _______________________________________________________________
  784.  
  785.  
  786.      Product                    Quantity Price  Number of copies
  787.      _________________________  ______________  ________________
  788.  
  789.                                               x ____________ = + $ _______
  790.  
  791.                                               x ____________ = + $ _______
  792.  
  793.                                               x ____________ = + $ _______
  794.  
  795.  
  796.      Product is shipped on 3.5" diskette.
  797.  
  798.  
  799.      Shipping and Handling (no quantity limit):                + $ _______
  800.  
  801.        Email - Subject to Credit Card Verification     Free
  802.        Fax - Subject to Credit Card Verification..     Free
  803.        Worldwide 1st Class .......................     Free
  804.        2nd Day Priority, USA Only ................ $   4.00 US
  805.        US Postal Service International Express
  806.          (Including Canada and Mexico), allow up to
  807.          7-10 days ............................... $  20.00 US
  808.        Airborne Select Delivery  (USA Only)        $   7.00 US
  809.        FedEx Overnight, USA Only (delivery by
  810.          3:00 pm the following day) .............. $  15.00 US
  811.        FedEx Europe/Japan (guaranteed delivery
  812.          within 3 days) .......................... $  30.00 US
  813.  
  814.        Worldwide, any business with a valid FedEx account can
  815.        charge shipping to their FedEx account and pay no
  816.        shipping charges to us.
  817.  
  818.      Total:                                                      $ _______
  819.  
  820.  
  821.      For credit card payment only                                   
  822.      
  823.       Circle one: VISA / Master / Discover / American Express        
  824.      
  825.       Credit card number: _____________________________________________ 
  826.  
  827.       Expiration date: ________________________________________________
  828.  
  829.       Authorization signature: ________________________________________ 
  830.  
  831.  
  832.  
  833. Happy Computing...
  834.  
  835. dave hamilton
  836.