home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / mg111d.zip / mailgate.doc < prev    next >
Text File  |  1996-05-17  |  31KB  |  893 lines

  1.                      MailGate 1.11d
  2.  
  3.                Copyright (c) Dave Hamilton 1995, 1996
  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 can process multiple domains,
  264.     as specified with the Accept command. If you do not specify any
  265.     Accept commands, MailGate uses MyDomain as the default domain.
  266.  
  267.     When processing outbound mail, you can use the Scan command to
  268.     assign different domains to different email areas. This domain
  269.     is the default domain.
  270.  
  271. 3.4 LogFile
  272.  
  273.     Logging is optional. If you want MailGate to keep a log, you must
  274.     run it with the -l switch. If you do, this specifies the directory
  275.     path where the logfile will go. It does not contain the name of
  276.     the log file itself - MailGate will create that - it just needs to
  277.     know where you want it put. Example:
  278.  
  279.         LogFile=c:\MG\
  280.  
  281. 3.5 ServerInBox
  282.  
  283.     This is the pathway to SENDMAIL's inbox. MailGate will check this
  284.     when run without switches, or with the -i switch, for incoming
  285.     mail. Example:
  286.  
  287.         ServerInBox=c:\tcpip\umail\server\inbox\
  288.  
  289. 3.6    ServerOutBox
  290.  
  291.     This is the pathway to SENDMAIL's outgoing spool queue. MailGate
  292.     will ONLY access this path if you specify Send=Queue for the
  293.     sending method. Whether you specify Queue sending or not, it is
  294.     a good idea to declare this path. You will read several warning
  295.     messages throughout this document about using the Queue method
  296.     on a network. Please don't. Use the Pipe method instead.
  297.     Example:
  298.  
  299.         ServerOutBox=c:\tcpip\etc\mqueue\
  300.  
  301. 3.7    EmailArea
  302.  
  303.     This is the path to your Email BBS area. If your message base
  304.     is *.MSG (shudder) this line will be the path to where the
  305.     messages are stored. If this is a Squish message base, it is
  306.     the path and name of the message area. If this is a Squish area,
  307.     put a $ at the end of the line.
  308.  
  309.     MailGate can handle multiple areas using the Accept and Scan
  310.     commands. This command specifies the default area.
  311.  
  312.     Example for a *.MSG area:
  313.  
  314.         EmailArea=c:\Max\Msg\Email\
  315.  
  316.     Example for a Squish area:
  317.  
  318.         EmailArea=c:\Max\Msg\Email $
  319.  
  320. 3.8    BadArea
  321.  
  322.     This is the path to your BBS bad files area, usually called 
  323.     BAD_MGS. Optionally, you can have MailGate toss bad messages or
  324.     messages to users unknown to you into this area. The syntax is
  325.     the same as the Email area. If it's a *.MSG area, specify the
  326.     directory. If it's a Squish base, specify the path and name, and
  327.     put a $ at the end of the line.
  328.  
  329.     Example for a *.MSG area:
  330.  
  331.         BadArea=c:\Max\Msg\Bad\
  332.  
  333.     Example for a Squish area:
  334.  
  335.         BadArea=c:\Max\Msg\Bad $
  336.  
  337.     MailGate will only toss messages here if the TossBadMsgs line 
  338.     IS specified and the BounceBadMsgs line is NOT specified.
  339.  
  340. 3.9    FileAttachArea
  341.  
  342.     This line specifies the directory where MailGate should deposit
  343.     binary files it finds encapsulated in your mail messages. MailGate
  344.     automatically detects and decodes UUencoded files. 
  345.  
  346.     You can instruct MailGate to totally ignore encapsulated binary
  347.     files using the IgnoreFileAttach line. This only applies to
  348.     inbound messages. You can still send binary files by attaching
  349.     them to outbound messages, and MailGate will UUencode them.
  350.     Example:
  351.  
  352.         FileAttachArea=c:\Max\File\Uncheck
  353.  
  354. 3.10 UserFile
  355.  
  356.     This is the path, not including the filename, of where MailGate's
  357.     UserFile is located. Example:
  358.  
  359.         UserFile=c:\MG\
  360.  
  361. 3.11 Max2UserBBS
  362.  
  363.     If you use Maximus 2.x or 3.00, you can have MailGate search your
  364.     User.BBS file for users. In this case, you don't have to run MAKEUF
  365.     every time you make changes to your user base. If you are specifying
  366.     both UserFile and UserBBS, MailGate will search in both files
  367.     starting with whichever you specify first. Note that you can turn
  368.     off searching-by-alias using the UseBBSAlias=No line. This will
  369.     cause MailGate to ignore the alias field in your User.BBS file,
  370.     but it will still search for aliases in your UserFile.
  371.  
  372.     Example:
  373.  
  374.         Max2UserBBS=c:\Max\
  375.  
  376. 3.12 TossBadMsgs
  377.  
  378.     You can specify TossBadMsgs, BounceBadMsgs, or neither. If you
  379.     specify TossBadMsgs, MailGate will put mail for unknown users
  380.     in the area specified by BadArea.
  381.  
  382. 3.13 BounceBadMsgs
  383.  
  384.     If you specify BounceBadMsgs, MailGate will return to sender any
  385.     mail for which it cannot locate a valid, legal user. If you
  386.     don't specify either TossBadMsgs or BounceBadMsgs, MailGate will
  387.     skip such messages.
  388.  
  389. 3.14 Send
  390.  
  391.     There are currently two methods of sending mail: Pipe or Queue.
  392.     If your machine is on a network and the SENDMAIL directories
  393.     are on another machine, you MUST specify Pipe.
  394.  
  395.     Why the choices? If you specify Pipe, MailGate sends outgoing
  396.     messages by calling SENDMAIL, and pipes the messages to SENDMAIL.
  397.     This is not particularly fast, but it is very reliable. If 
  398.     SENDMAIL cannot connect with a destination host, it will enqueue
  399.     the message for later transmission by itself, and retry at a
  400.     later time to send the message.
  401.  
  402.     If you are on a single machine, you can specify Queue, in which
  403.     case MailGate will create the appropriate files in SENDMAIL's
  404.     outbound queue. SENDMAIL checks its outbound queue periodically,
  405.     and if there is anything in it, sends out the messages. This
  406.     method is ver fast in terms of getting the mail out of the
  407.     BBS base, and overall it is faster than piping the messages
  408.     one at a time.
  409.  
  410.     Examples:
  411.  
  412.         Send=Queue
  413.         Send=Pipe
  414.  
  415. 3.15 HideAHeaders
  416.  
  417.     RFC822 mail has a header and a body. The header is classified
  418.     by MailGate into two areas, A and B. Info contained in the A
  419.     part is To:, From:, Full-Name:, and Return-Path:. Info contained
  420.     in the B part is everything else that comes in in a header.
  421.     MailGate ALWAYS hides this information in the hidden control area
  422.     of each message, so this keyword is invoked by default.
  423.  
  424. 3.16 KeepAHeaders
  425.  
  426.     If you want to include A-Header information in your message body
  427.     so you can read it, specify this keyword in your .cfg file. Example:
  428.  
  429.         KeepAHeaders
  430.  
  431. 3.17 HideBHeaders
  432.  
  433.     Non-essential header information can also be stored in the hidden
  434.     area if you specify HideBHeaders. Most message editors have some
  435.     way of showing you the hidden information on demand. This is the
  436.     default choice for MailGate. Example:
  437.  
  438.         HideBHeaders
  439.  
  440. 3.18 KeepBHeaders
  441.  
  442.     If you want the Class B header information to show up in your
  443.     messages, specify this keyword. Example:
  444.  
  445.         KeepBHeaders
  446.  
  447. 3.19 SkipBHeaders
  448.  
  449.     If you're not interested in keeping the non-essential header
  450.     information at all, specify this keyword to instruct MailGate
  451.     to just skip over it. Example:
  452.  
  453.         SkipBHeaders
  454.  
  455. 3.20 NoOutboundKludges
  456.  
  457.     If you are using (recommended) a Local area for your email
  458.     message base, you don't need to worry about this option. If
  459.     you are using (not recommended) an EchoArea for your email,
  460.     Fido programs normally place a hidden PATH kludge after the
  461.     tearline (origin line). These will appear on an internet
  462.     mail editor. To have them ignored when scanning messages OUT
  463.     of your message base, include this line in your MailGate.Cfg:
  464.  
  465.         NoOutboundKludges
  466.  
  467. 3.21 NoOutboundSeenbys
  468.  
  469.     As in the situation above (section 3.20), Fidonet Echo areas
  470.     have a hidden line at the end of a message with a list of
  471.     systems that have seen the message. You should never remove
  472.     this line from incoming or existing messages. However, when
  473.     scanning them out to Email, you can direct MailGate to omit
  474.     this line by including in your MailGate.Cfg:
  475.  
  476.         NoOutboundSeenbys
  477.  
  478. 3.22 TextWidth
  479.  
  480.     Well-written Fido message editors allow the text to free flow
  481.     except for paragraph breaks. This lets editors with varying
  482.     screen widths format text in readable form. It is convention
  483.     however in internet mail to place carriage returns at the end
  484.     of lines. By default, MailGate sets the right margin at 70
  485.     characters, and word-wraps text that would exceed that limit
  486.     by starting a new line. You can set the TextWidth to any number
  487.     of columns from 40 to 80, but 65-75 are recommended. Example:
  488.  
  489.         TextWidth=70
  490.  
  491. 3.23 UseBBSAlias
  492.  
  493.     By default, MailGate will search your User.BBS file looking for
  494.     either a match in the alias field for one-word recipients, or
  495.     a match in the username field for multiple-word recipients. To
  496.     have MailGate ignore the alias field altogether, specify:
  497.  
  498.         UseBBSAlias=No
  499.  
  500.     When creating a UserFile using the utility Makeuf, use the 
  501.     commandline switch -noalias.
  502.  
  503. 3.24 MailStyle
  504.  
  505.     If your system is set up for LaMail, specify:
  506.  
  507.         MailStyle=LaMail
  508.  
  509.     If your system is set up for Ultimail, specify:
  510.  
  511.         MailStyle=Ultimail
  512.  
  513.     If you are not set up for either LaMail or Ultimail, leave
  514.     this specification line out of your .cfg file. Other interfaces
  515.     may be supported in the future.
  516.  
  517.     If you are using the Warp Internet Access Kit, install Ultimail
  518.     even if you don't plan to use it. This will ensure that SENDMAIL
  519.     is creating the .UML files. Then, specify:
  520.  
  521.         MailStyle=Ultimail
  522.  
  523. 3.25 UseTime
  524.  
  525.     If you specify a single line with:
  526.  
  527.         UseTime
  528.  
  529.     MailGate will remember when it last scanned mail in. On systems
  530.     that toss or bounce mail to unknown users, this will not be
  531.     relevent, but for those who keep mail to read with some other
  532.     mailer, it can speed up your processing. When MailGate checks
  533.     for inbound mail, if this line has been specified, it only
  534.     checks mail that has arrived since the last time it looked.
  535.  
  536.     If you want MailGate to re-scan older mail, you can either leave
  537.     this line out of your configuration, or you can reset the
  538.     timer by running:
  539.  
  540.         MailGate -r
  541.  
  542.     This will have the one-time effect of setting the last-looked
  543.     timer to zero which will cause MailGate to scan all mail
  544.     in the inbox.
  545.  
  546. 3.26 NoLocalFlag
  547.  
  548.     If you specify a single line with
  549.  
  550.         NoLocalFlag
  551.  
  552.     MailGate will not set the MSGLOCAL bit in your Squish/MSG base
  553.     when it tosses incoming mail. By default, this bit is set, but
  554.     it causes problems with some tossers/scanners.
  555.  
  556. 3.27 Accept
  557.  
  558.     This command may be repeated as often as neccesary. It allows
  559.     you to specify multiple email areas according to how incoming
  560.     mail is addressed. Examples:
  561.  
  562.         Accept support@proven.com L:\Max\Msg\Support $
  563.         Accept proven.com L:\Max\Msg\Proven $
  564.         Accept sbase.com L:\Max\Msg\Sbase $
  565.         Accept * L:\Max\Msg\Email $
  566.  
  567.     Take a look at the above examples. These allow you to 'filter'
  568.     incoming messages and assign them to different areas. In the
  569.     first example, a single user is specified. All mail addressed
  570.     to that user will go to the Support area. Mail going to the
  571.     same domain, but any user, will go to the Proven area. Mail
  572.     addressed to any user in the sbase.com domain will go to the
  573.     Sbase area. Finally, a default area is specified for all users.
  574.     You don't have to specify a default. If you don't, any mail
  575.     that does not fit the above lines will be considered 'bad' and
  576.     dealt with according to how you have configured BounceBadMsgs
  577.     and so on.
  578.  
  579.     Note that Squish areas have a dollar sign at the end of the line.
  580.  
  581.     It is important to note that MailGate starts comparing incoming
  582.     addresses from the top of the list down, and stops comparing
  583.     if it finds a match. As shown in the example, put your most
  584.     detailed addresses at the top of the list, and your most general
  585.     addresses at the bottom.
  586.  
  587.     Any number of areas may be specified.
  588.  
  589. 3.28 Scan
  590.  
  591.     This command lets you tell MailGate which message areas to scan
  592.     when looking for outbound mail, and which domains to assign to
  593.     those areas. For example:
  594.  
  595.         Scan proven.com L:\Max\Msg\Proven $
  596.         Scan proven.com L:\Max\Msg\Support $
  597.         Scan sbase.com  L:\Max\Msg\Sbase $
  598.         Scan sbase.com  L:\Max\Msg\Email $
  599.  
  600.     The command specifies the domain name, the message area, then
  601.     an optional dollar sign if this is a squish area. When MailGate
  602.     scans mail out of these areas, it will assign the specified
  603.     domain name to each area. Any number of areas may be specified.
  604.  
  605.  
  606. 4.0    Sending Email
  607.  
  608.     We suggest setting up your Email area as a Local file area. This
  609.     way, when Squish scans, it will ignore this area.
  610.  
  611.     When a user wants to send email, she goes to this area via whatever
  612.     menu paths exist on your BBS and enters a new message. For her own
  613.     name (From:) she can either put Firstame Lastname, or she can enter
  614.     Firstname.Lastname@your.domain, or she can enter alias@your.domain.
  615.  
  616.     In the To: line, the user enters the email address of the recipient
  617.     of the message. If your message editor does not have enough room
  618.     to enter the email address, 
  619.  
  620.         Leave the To: line blank, and on the first line of the 
  621.         message body, enter:
  622.  
  623.             To:person@destination.address
  624.  
  625.         Leave the next line blank. Then, enter your message.
  626.  
  627.     If you are using a full-featured editor such as FleetStreet,
  628.     you can set it up so that when you are in the Email area,
  629.     your personal email address is used for the From: field.
  630.  
  631.     If your editor insists on having something in the To: field,
  632.     rather than leaving it blank, just put in something like 'list'.
  633.     It will be replaced by the real destination found on the first
  634.     line of the body when MailGate scans it out.
  635.  
  636.     Multiple Recipients:
  637.  
  638.     MailGate can handle sending a message to multiple recipients.
  639.     You can have multiple addresses on the To: line of the
  640.     body like this:
  641.  
  642.         To: harry@armes.com,
  643.             sam@quicksilver.com
  644.  
  645.     Just be sure that there are no blank lines until after the
  646.     addressing. The To: must be on the first line of the body.
  647.     Place a comma at the end of every line but the last one,
  648.     to tell MailGate that there are more lines.
  649.  
  650.     There must be at least one blank line after the addresses.
  651.  
  652.     Carbon Copies:
  653.  
  654.     MailGate can send carbon copies of a message to you or other
  655.     users. Specify carbon copies like this:
  656.  
  657.         To: harry@armes.com,
  658.             sam@quicksilver.com
  659.         Cc: daveh@proven.com
  660.  
  661.     As above, there must be no blank lines until after the addresses.
  662.  
  663.     Blind Carbons:
  664.  
  665.     RFC822 defines a blind-carbon copy field, and MailGate supports
  666.     it for the sake of convention. You would use this when sending
  667.     mail to a host where the message is send to a list of users,
  668.     and you know the name of the list. The receiving host will
  669.     take care of copying in everyone on its list. Example:
  670.  
  671.         To: harry@armes.com,
  672.             sam@quicksilver.com
  673.         Bcc: userlist@tohost.com
  674.  
  675. 5.0    Name-Alias Translations
  676.  
  677.     When sending mail, MailGate looks to see how many words are in
  678.     the sender's name. If there are more than one, MailGate considers
  679.     this to be the sender's BBS name. It then looks for an alias in
  680.     the UserFile, and if it finds one, uses alias@your.domain for the
  681.     sending address and return path. If MailGate finds a multiple-word
  682.     name but no corresponding alias, it uses first.last@your.domain as
  683.     the email address.
  684.  
  685.     If only one word is found in the sender's name, it is considered to
  686.     be an alias, but it is verified. MailGate then uses alias@your.domain
  687.     as the sender's address.
  688.  
  689.     When receiving mail, MailGate counts the number of words in the
  690.     recipient's name. If it finds only one, it looks for an alias in
  691.     the UserFile. If it finds one, it translates the alias to the
  692.     user's registered BBS name and files the message under that name
  693.     so that the BBS itself can recognize it. If MailGate finds multiple
  694.     words for the recipient's name, it considers them to be parts of
  695.     a BBS name, parses them out, and looks in the UserFile for
  696.     verification. If it finds the name, it saves the message.
  697.  
  698.     If neither a valid name nor a valid alias are found, MailGate
  699.     designates the message as Bad. It then behaves according to its
  700.     configuration file.
  701.  
  702.     If you have specified BouceBadMsgs, MailGate returns the message to
  703.     its sender.
  704.  
  705.     If you have specified TossBadMsgs, MailGate places the message in
  706.     the area you have defined as BadArea.
  707.  
  708.     If you have not specified either TossBadMsgs or BounceBadMsgs, the
  709.     message is left untouched in SENDMAIL's inbox.
  710.  
  711.     If you have logging turned on ( -l switch ) when MailGate is run,
  712.     a record of the action taken on received messages is kept.
  713.  
  714.  
  715. 6.0 How to reach us
  716.  
  717.     For problem reports, suggestions for future releases, and even
  718.     good news, you can reach us at:
  719.  
  720.         mailgate@sbase.com
  721.  
  722.     or you can send Fido Netmail to Mail Gate at 1:229/622.
  723.  
  724. 7.0 Current Versions
  725.  
  726.     The current release is in mg110.zip. The current beta is mg111c.zip.
  727.  
  728.     You can FREQ the current release from 1:229/622 using the
  729.     magic name MAILGATE, or you can download it from hobbes or:
  730.  
  731.         ftp.sbase.com
  732.  
  733.     in the Os2/Inet directory.
  734.  
  735.  
  736. 8.0 The makeidx.exe utility
  737.  
  738.     Beginning with version 0.9, MailGate uses a compiled index
  739.     created from your User.BBS and/or UserFile. MAKEIDX scans
  740.     your MailGate.Cfg to determine which of these files you use,
  741.     and whether or not you permit the User.BBS alias field to
  742.     be used. It then creates the index files.
  743.  
  744.     Note that even if you don't allow your User.BBS alias field
  745.     to be used, aliases are still permitted and searched for in
  746.     your UserFile, allowing you to set up aliases for you and your
  747.     staff, but not for your users, or to create aliases for some
  748.     users in such case that you might be using the alias field
  749.     in your User.BBS for some other thing.
  750.  
  751.     Once the indexed files are compiled, MailGate automatically 
  752.     detects them and uses them.
  753.  
  754.     This process reduces the time for MailGate to validate a user
  755.     dramatically.
  756.  
  757. 9.0 The fu.exe utility
  758.  
  759.     You can lookup user names and/or aliases using the fu utility.
  760.     FU searches your files in the same sequence as MailGate does.
  761.     By default, fu expects as an argument either a name or an alias,
  762.     and returns the name for that user. Example:
  763.  
  764.         fu daveh
  765.            daveh is Dave Hamilton
  766.  
  767.     If you use the -a switch anywhere in the command line, fu will
  768.     return an alias from either a name or alias:
  769.  
  770.         fu dave hamilton -a
  771.            dave hamilton is daveh
  772.  
  773.     The -v switch can provide more information IF you have used a
  774.     User.BBS file to create your indexed files. In this case, pointers
  775.     to the User.BBS entries are maintained, and fu has access to
  776.     all the information contained about the user in your system.
  777.     Try looking up a user with the -v switch for a demonstration.
  778.  
  779.     This was originally developed for testing purposes, but it has
  780.     proven to be handy. We just thought we'd share it with you. Even
  781.     if you decide not to register MailGate, please keep it with our
  782.     compliments.
  783.  
  784. 10.0 Registration
  785.  
  786.     If you wish to use MailGate, please consider registering it.
  787.     Registration is $25. US. Registration will entitle you to
  788.     support responses and future upgrades. You can register either
  789.     by mail or through BMT Micro using pretty well any payment
  790.     method you can think of.
  791.  
  792.     Registering by Mail:
  793.  
  794.     Please print the form REGISTER.FRM and send it with your check
  795.     to:
  796.  
  797.         Dave Hamilton
  798.         220 Arthur Street
  799.         Newcastle, ON, CANADA, L1B 1L8
  800.  
  801.     We will send you a registration name and key via email, snailmail,
  802.     or netmail. Please indicate your choice on the registration form.
  803.  
  804.  
  805.     Registering with BMT Micro:
  806.  
  807.  
  808.                   Mail Orders To: BMT Micro
  809.                                   PO Box 15016
  810.                                   Wilmington, NC 28408
  811.                                   U.S.A.
  812.  
  813.                     Voice Orders: 9:00am - 7:00pm EST (-5 GMT)
  814.                                   (800) 414-4268 (orders only)
  815.                                   (910) 791-7052
  816.  
  817.                       Fax Orders: (910) 350-2937  24 hours / 7 Days
  818.  
  819.          Online Orders via modem: (910) 350-8061  10 lines, all 14.4K
  820.                                   (910) 799-0923  Direct 28.8K line
  821.  
  822.      Ordering and general ordering questions:
  823.                          Via AOL: bmtmicro
  824.                   via Compuserve: Thomas Bradford, 74031,307
  825.                     via Internet: thomas.bradford@bmtmicro.com
  826.  
  827.      We accept Visa, Mastercard, Discover, American Express, Money Order,
  828.      Cashiers Check, Personal Check.  Please do not send cash in the mail.
  829.      Personal checks are subject to clearance.
  830.  
  831.      Each copy of the package includes the latest version of MailGate.
  832.  
  833.  
  834.      Name ________________________________________________________________
  835.  
  836.      Address _____________________________________________________________
  837.  
  838.              _____________________________________________________________
  839.  
  840.      Phone _______________________________________________________________
  841.  
  842.  
  843.      Product                    Quantity Price  Number of copies
  844.      _________________________  ______________  ________________
  845.  
  846.                                               x ____________ = + $ _______
  847.  
  848.                                               x ____________ = + $ _______
  849.  
  850.                                               x ____________ = + $ _______
  851.  
  852.  
  853.      Product is shipped on 3.5" diskette.
  854.  
  855.  
  856.      Shipping and Handling (no quantity limit):                + $ _______
  857.  
  858.        Email - Subject to Credit Card Verification     Free
  859.        Fax - Subject to Credit Card Verification..     Free
  860.        Worldwide 1st Class .......................     Free
  861.        2nd Day Priority, USA Only ................ $   4.00 US
  862.        US Postal Service International Express
  863.          (Including Canada and Mexico), allow up to
  864.          7-10 days ............................... $  20.00 US
  865.        Airborne Select Delivery  (USA Only)        $   7.00 US
  866.        FedEx Overnight, USA Only (delivery by
  867.          3:00 pm the following day) .............. $  15.00 US
  868.        FedEx Europe/Japan (guaranteed delivery
  869.          within 3 days) .......................... $  30.00 US
  870.  
  871.        Worldwide, any business with a valid FedEx account can
  872.        charge shipping to their FedEx account and pay no
  873.        shipping charges to us.
  874.  
  875.      Total:                                                      $ _______
  876.  
  877.  
  878.      For credit card payment only                                   
  879.      
  880.       Circle one: VISA / Master / Discover / American Express        
  881.      
  882.       Credit card number: _____________________________________________ 
  883.  
  884.       Expiration date: ________________________________________________
  885.  
  886.       Authorization signature: ________________________________________ 
  887.  
  888.  
  889.  
  890. Happy Computing...
  891.  
  892. dave hamilton
  893.