home *** CD-ROM | disk | FTP | other *** search
/ Netware Super Library / Netware Super Library.iso / mhs_mail / xgate3 / xgate.doc < prev    next >
Encoding:
Text File  |  1993-12-15  |  170.4 KB  |  4,262 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.                                         XGATEXGATE
  23.  
  24.  
  25.  
  26.  
  27.  
  28.                                   High PerformanceHigh Performance
  29.  
  30.                                  MHS to SMTP GatewayMHS to SMTP Gateway
  31.  
  32.  
  33.  
  34.  
  35.                                      Version 3.0Version 3.0
  36.  
  37.                         Copyright (c) 1993, Dave Frailey andCopyright (c) 1993, Dave Frailey and
  38.                                   DAC Micro SystemsDAC Micro Systems
  39.  
  40.                                                 XGATE - MHS to SMTP Gateway
  41.           -----------------------------------------------------------------
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.           FeaturesFeatures
  49.  
  50.  
  51.                Automatic handling of inbound and outbound file attachments.
  52.  
  53.                Supports a variety of return receipt options.
  54.  
  55.                Returns delivery  errors in  both directions  with  optional
  56.                copies to the MHS administrator.
  57.  
  58.                Separate log  file options for errors, inbound, and outbound
  59.                message traffic.
  60.  
  61.                Complies  with   RFC-821,  and   RFC-822  for  SMTP  message
  62.                handling.   An exhaustive  amount of  testing  with  a  wide
  63.                variety of  different SMTP mailers assures the highest level
  64.                of compatibility.
  65.  
  66.                Low administration.   The rules-based conversion engine does
  67.                not use  alias or  look-up tables.   Addressing  syntax from
  68.                both sides is easy to use.
  69.  
  70.                Supports MHS 1.1 through 2.0 (SMF-64, SMF-70, and SMF-71)
  71.  
  72.                The integrated  SMTP module  can multitask up to 100 inbound
  73.                or outbound  SMTP sessions concurrently, and is complimented
  74.                with   an    extensive   debug    monitor   that    provides
  75.                troubleshooting  functions  such  as  PING,  NSLookup  (name
  76.                server lookup), Telnet/25 (telnet to another SMTP host), and
  77.                more....
  78.  
  79.                Configurable scroll  back buffers  for both  the MHS Gateway
  80.                Activity screen and the SMTP Monitor screen.
  81.  
  82.                Internal TCP/IP  is provided  by the high-performance Mach 2
  83.                TCP/IP protocol  stack that runs directly (without shims) on
  84.                either a Novell ODI driver or a Clarkson Packet Driver.
  85.  
  86.                Can also function as a high-performance (shotgun style) name
  87.                server as an additional service to local nodes.
  88.  
  89.                Written 100%  in assembly  language for high performance and
  90.                efficient memory usage.
  91.  
  92.                And, a vast array of other features and options....
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.                                           i
  103.  
  104.                                                 XGATE - MHS to SMTP Gateway
  105.           -----------------------------------------------------------------
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.           IntroductionIntroduction
  114.  
  115.                XGATE is  the most  powerful MHS  to SMTP  gateway available
  116.                today.   It provides  a completely  integrated solution  for
  117.                bridging MHS-based  electronic mail  directly and seamlessly
  118.                with SMTP-based electronic mail.
  119.  
  120.                XGATE runs as a single, uninterrupted program on a dedicated
  121.                PC.  It doesn't use any complex batch files, nor does it use
  122.                any techniques  that involve  running  another  program  and
  123.                trying to  process what  that  program  left  behind.    Its
  124.                ability to  always receive  a new  SMTP connection  is never
  125.                interrupted.
  126.  
  127.                XGATE is  a completely  integrated solution that extensively
  128.                uses  the   NetWare  Queue  Services  API  for  all  message
  129.                handling, and  it contains  its own  high-performance Mach 2
  130.                TCP/IP protocol  stack that  runs directly  on either Novell
  131.                ODI drivers, or Clarkson Packet Drivers.
  132.  
  133.                XGATE provides  the best power-to-dollar ratio of any MHS to
  134.                SMTP gateway available.  Feature for feature, XGATE has more
  135.                configurable options  and capabilities than any other MHS to
  136.                SMTP gateway.
  137.  
  138.                XGATE was  developed 100% in assembly language for speed and
  139.                memory efficiency.   Its  SMTP Server  is capable of sending
  140.                and/or   receiving    as   many   as   100   mail   sessions
  141.                simultaneously, and  it provides  the fastest  throughput of
  142.                any PC-based  SMTP mailer, exceeding its competition by many
  143.                orders of magnitude.
  144.  
  145.                The SMTP  Server can  be configured  to run  in a relay mode
  146.                where it  passes all outbound mail to a nearby UNIX host, or
  147.                you can  run it  as a  fully functional delivery agent which
  148.                directly connects  to any  host it  has outbound  mail  for.
  149.                When run  in direct  delivery mode  it returns comprehensive
  150.                notifications at  the 4 hour mark, and after each subsequent
  151.                24 hour  period in which it can't deliver mail - up until it
  152.                reaches the  (configurable) number  of  hours  at  which  to
  153.                return mail as undeliverable.
  154.  
  155.                Both the MHS Gateway and SMTP Server modules include a full-
  156.                featured scroll  back capability.    The  SMTP  Server  also
  157.                provides debugging tools such as a display filter (to screen
  158.                out all but one active SMTP session), connection statistics,
  159.                and NSLookup,  Ping,  and  Telnet/25  options  (for  testing
  160.                connectivity with other hosts).
  161.  
  162.  
  163.  
  164.  
  165.  
  166.                                          ii
  167.  
  168.                                                 XGATE - MHS to SMTP Gateway
  169.           -----------------------------------------------------------------
  170.  
  171.  
  172.  
  173.                XGATE's conversion  engine was  carefully designed  using  a
  174.                rules-based  philosophy.     The   last  thing   an   E-Mail
  175.                administrator needs  is more recurring administration.  In a
  176.                minimal  configuration,   XGATE  doesn't  need  any  routing
  177.                tables, user  name tables,  or alias tables.  The addressing
  178.                syntax from  either side  is easy  to use.   Once  XGATE  is
  179.                installed, users on either side have immediate E-Mail access
  180.                to users on the other side.
  181.  
  182.                And, with  the scroll  back capabilities,  you'll always  be
  183.                able to  easily tell  what XGATE  has been doing, what it is
  184.                doing, and what its current status is.  No other MHS to SMTP
  185.                gateway lets  you so easily monitor what's happening in real
  186.                time.
  187.  
  188.                After you've  used XGATE  for a  few days,  we're  confident
  189.                you'll find  that we  didn't take  any shortcuts, and that a
  190.                lot of  effort was  used to ensure that all aspects, unusual
  191.                circumstances, and exceptions were taken into account.
  192.  
  193.  
  194.  
  195.           AcknowledgmentsAcknowledgments
  196.  
  197.                Special thanks  to Steve  Glick of  Dallas County  Community
  198.                College District,  and Steve Knowles of Sir Sandford Fleming
  199.                College, for plenty of valuable beta testing help.
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.                                          iii
  231.  
  232.                                                 XGATE - MHS to SMTP Gateway
  233.           -----------------------------------------------------------------
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.           45 Day Trial Copy45 Day Trial Copy
  242.  
  243.                This is a 45 day trial copy of XGATE.  It is provided so you
  244.                can try  XGATE before you buy it, for a period of 45 days in
  245.                order to  determine if it meets your needs.  Continued usage
  246.                after 45 days requires registration.
  247.  
  248.                Registering XGATE  allows you  to use this product after the
  249.                trial period  expires for  an  indefinite  period  of  time.
  250.                Registered XGATE  users will  also get  mailed notifications
  251.                when significant  updates are  available.   More importantly
  252.                though, registered  users know  they are  helping to  ensure
  253.                that high  quality software  like XGATE  can continue  to be
  254.                developed and distributed in this low cost manner.  For more
  255.                information on ordering, refer to the REGISTER.DOC text file
  256.                included in this package.
  257.  
  258.                All DAC  Micro Systems products are trademarks or registered
  259.                trademarks of  DAC Micro  Systems.   Other brand and product
  260.                names are  trademarks  or  registered  trademarks  of  their
  261.                respective holders.
  262.  
  263.                Copyright (c) 1993, Dave Frailey and DAC Micro Systems.  All
  264.                rights reserved.
  265.  
  266.  
  267.  
  268.  
  269.                                     DAC Micro Systems
  270.                                      40941 176th St E
  271.                                    Lancaster, CA  93535
  272.  
  273.                                    Voice: 800-776-1322
  274.                                    Voice: 805-264-1700
  275.                                     BBS: 805-264-1219
  276.                                     FAX: 805-727-1603
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.                                          iv
  295.  
  296.                                                 XGATE - MHS to SMTP Gateway
  297.           -----------------------------------------------------------------
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.                                          ContentsContents
  305.  
  306.  
  307.                INTRODUCTION.........................................II
  308.  
  309.                REQUIREMENTS..........................................1
  310.                   MHS................................................1
  311.                   Memory.............................................1
  312.  
  313.                LIMITATIONS...........................................2
  314.  
  315.                OVERVIEW..............................................3
  316.                   Program Modules....................................3
  317.                   SMTP Queues........................................4
  318.  
  319.                ADDRESSING............................................6
  320.                   From SMTP to MHS...................................6
  321.                   From MHS to SMTP...................................7
  322.                   Static MHS Reply Address...........................8
  323.                   The Default SMTP Host..............................8
  324.  
  325.                FEATURES AND OPTIONS..................................9
  326.                   Uuencoding.........................................9
  327.                   Appending ASCII Attachments.......................10
  328.                   Large Message Roll-off............................10
  329.                   Return Receipts...................................10
  330.                   Postmaster........................................12
  331.                   Native Mode SMF-71................................12
  332.                   Receiving SMTP Mail...............................14
  333.                   Delivery Modes....................................14
  334.  
  335.                RUNNING XGATE........................................16
  336.                   Command Line Switches and Syntax..................17
  337.  
  338.                USING XGATE..........................................19
  339.                   Scroll Back.......................................19
  340.                   MHS Gateway Activity..............................20
  341.                   The SMTP Monitor..................................20
  342.  
  343.                USING XGATE AS A NAME SERVER.........................23
  344.                   The HOSTS File....................................23
  345.  
  346.                PRE-INSTALLATION.....................................25
  347.                   The MHS Gateway Name..............................25
  348.                   The TCP/IP Host Name..............................25
  349.  
  350.                INSTALLATION.........................................26
  351.                   Copying XGATE's Files.............................26
  352.                   Adding a gateway name under MHS...................27
  353.                   Editing XGATE.CFG.................................28
  354.                   Using SETUP.......................................29
  355.  
  356.  
  357.  
  358.                                           v
  359.  
  360.                                                 XGATE - MHS to SMTP Gateway
  361.           -----------------------------------------------------------------
  362.  
  363.  
  364.  
  365.                   Modifying NET.CFG.................................30
  366.                   Installation Complete.............................31
  367.  
  368.                INITIAL TESTING AND TROUBLESHOOTING..................32
  369.  
  370.                TCP/IP HOST NAMES AND IP ADDRESSES...................33
  371.                   Configuring DNS...................................33
  372.                   Defining MX Records...............................34
  373.                   Hiding XGATE Behind Another UNIX Host.............35
  374.  
  375.                XGATE.CFG............................................37
  376.                   Alphabetical Index................................37
  377.                   Reference.........................................39
  378.  
  379.                INDEX................................................59
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.                                          vi
  423.  
  424.                                                 XGATE - MHS to SMTP Gateway
  425.           -----------------------------------------------------------------
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.           RequirementsRequirements
  433.  
  434.                IBM PC XT/AT Compatible
  435.  
  436.                640 KB Conventional Memory
  437.  
  438.                Extended/Expanded (XMS/EMS) Memory is Helpful
  439.  
  440.                Network Interface Card
  441.  
  442.                Novell ODI driver or Clarkson Packet Driver
  443.  
  444.  
  445.           MHSMHS
  446.  
  447.                XGATE works  with MHS  versions 1.1,  1.5, and  2.0 (SMF-64,
  448.                SMF-70, and  SMF-71),  and  automatically  adjusts  to  each
  449.                level's differences and/or capabilities.
  450.  
  451.  
  452.           MemoryMemory
  453.  
  454.                XGATE was  written 100% in efficient assembly language.  But
  455.                even as  such, fitting  the functionality  of a MHS gateway,
  456.                SMTP  server,   and  TCP/IP   protocol   stack   in   memory
  457.                concurrently can be a bit demanding on memory utilization.
  458.  
  459.                XGATE will automatically recognize and use UMB memory (upper
  460.                memory blocks  between the  640K and  1Meg boundary)  either
  461.                through MS-DOS  5 API  calls, or through an XMS driver (like
  462.                HIMEM.SYS  when   used  with   EMM386.EXE,  or   QEMM   from
  463.                Quarterdeck).
  464.  
  465.                XGATE also  automatically recognizes and uses EMS (expanded)
  466.                memory when  present (if  version 4.0 or higher) for some of
  467.                its event-based  buffering requirements, and also for scroll
  468.                back buffers.   If  a choice  is needed,  allocating approx.
  469.                256K  of  extended  memory  as  expanded  memory  should  be
  470.                sufficient (as long as nothing else uses it).
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.                                           1
  487.  
  488.                                                 XGATE - MHS to SMTP Gateway
  489.           -----------------------------------------------------------------
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.           LimitationsLimitations
  498.  
  499.                XGATE's messaging  limitations are  more those  of MHS  than
  500.                XGATE.  XGATE can handle a message of unlimited length.  MHS
  501.                1.5 has  a limit  of 64K  for body  text.   MHS 2.0  has  an
  502.                unlimited length  for body text.  (Note that many MHS E-Mail
  503.                applications have a smaller limit, sometimes 32K or less for
  504.                body text.   XGATE  provides an option to roll body text off
  505.                to a file attachment in these cases.)
  506.  
  507.                XGATE can  handle an  unlimited number  of outgoing MHS file
  508.                attachments  and   automatically  uuencode   them  into  the
  509.                outgoing SMTP message.
  510.  
  511.                It can  also do  the inverse  with inbound SMTP messages and
  512.                automatically uudecodes  multiple uuencoded  files back into
  513.                separate MHS file attachments.
  514.  
  515.                MHS  1.1   (SMF  64)  however,  can  only  handle  one  file
  516.                attachment per  message (in this case XGATE only decodes the
  517.                first file  and leaves  the rest  uuencoded in  the  message
  518.                body).
  519.  
  520.                MHS 1.5  (SMF 70)  can handle 64 file attachments, and XGATE
  521.                will automatically  uudecode and  create attachments  for as
  522.                many uuencode blocks that exist in the message body text.
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.                                           2
  551.  
  552.                                                 XGATE - MHS to SMTP Gateway
  553.           -----------------------------------------------------------------
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.           OverviewOverview
  562.  
  563.                How does it work?  Its not really that complicated....
  564.  
  565.  
  566.           Program ModulesProgram Modules
  567.  
  568.                Although the  appearance is that it is all integrated, XGATE
  569.                is fundamentally divided into two different modules; the MHS
  570.                Gateway module  and the  SMTP Server  module, and  it uses a
  571.                third module for its TCP/IP driver.
  572.  
  573.                All modules  are automatically  loaded at  startup (into UMB
  574.                memory if  possible).   The MHS  Gateway module and the SMTP
  575.                Server  module   communicate  with  each  other  through  an
  576.                internal API  and with  the NetWare  Queue Services API.  To
  577.                conserve memory,  both modules  also use  a  common  set  of
  578.                library functions  that are resident within the loader.  The
  579.                MHS  Gateway   module  and   the  SMTP   Server  module  are
  580.                multitasked on  a non-preemptive  time-sharing basis and are
  581.                both equipped with individual scroll back capability.
  582.  
  583.  
  584.           The MHS Gateway ModuleThe MHS Gateway Module
  585.  
  586.                The MHS  Gateway  module  handles  the  conversion  of  mail
  587.                between MHS and SMTP formats, and it handles the inbound and
  588.                outbound delivery of MHS mail.
  589.  
  590.  
  591.           The SMTP Server ModuleThe SMTP Server Module
  592.  
  593.                The SMTP  Server module  (as its  name implies) provides the
  594.                SMTP server  functionality, and it handles all of the TCP/IP
  595.                related issues.
  596.  
  597.                The SMTP Server automatically uses the advanced capabilities
  598.                provided by  the NetWare  Queue Services  API to  manage the
  599.                order and scheduling of outbound SMTP mail.
  600.  
  601.  
  602.           The Mach 2 TCP/IP Protocol StackThe Mach 2 TCP/IP Protocol Stack
  603.  
  604.                At an  even lower  level, the  SMTP Server  uses the  Mach 2
  605.                TCP/IP protocol stack for all TCP/IP requirements.  Like the
  606.                other two  modules, Mach 2  is also  loaded automatically at
  607.                startup, and is unloaded when you exit XGATE.
  608.  
  609.                Mach 2  is a  high-performance TCP/IP  protocol  stack  that
  610.                unlike other  TCP/IP drivers  or  applications,  was  not  a
  611.  
  612.  
  613.  
  614.                                           3
  615.  
  616.                                                 XGATE - MHS to SMTP Gateway
  617.           -----------------------------------------------------------------
  618.  
  619.  
  620.  
  621.                derivative of  someone else's  previous work (in C).  Mach 2
  622.                was designed  from scratch  completely in assembly language,
  623.                with strong  priorities  on  long-term  stability  and  high
  624.                performance.
  625.  
  626.                The  SMTP   Server  interacts   with  Mach 2  mostly  on  an
  627.                asynchronous basis  (at  interrupt  time  when  packets  are
  628.                received).   The system  never blocks  waiting for Mach 2 to
  629.                complete an API call.
  630.  
  631.                Mach 2 runs  directly (without any shims) on either a Novell
  632.                ODI driver,  or a  Clarkson Packet  Driver (or both - it can
  633.                support multiple  interfaces).  When run on ODI, Mach 2 is a
  634.                fully compliant ODI protocol stack.
  635.  
  636.  
  637.           The SMTP QueuesThe SMTP Queues
  638.  
  639.                XGATE uses  two NetWare  queues; SMTP_IN  and  SMTP_OUT,  to
  640.                handle all inbound and outbound SMTP mail.  These two queues
  641.                are job  queues (like  a print  queue except  that the queue
  642.                object type is a different number), and are created with one
  643.                of the options in XGATE's SETUP program.
  644.  
  645.                When XGATE  initially starts  up, it  attaches to  both  the
  646.                SMTP_IN and  SMTP_OUT queues  through the  NetWare API  as a
  647.                queue server.
  648.  
  649.                Basically, anything  in  the  SMTP_IN  queue  is  considered
  650.                inbound SMTP  mail and  likewise, anything  in the  SMTP_OUT
  651.                queue is considered outbound SMTP mail.
  652.  
  653.                On a  configurable basis the MHS Gateway module periodically
  654.                scans the gateway OUT directory under MHS for outbound mail,
  655.                converts anything  it finds  to SMTP format, and posts it in
  656.                the SMTP_OUT  queue for  the SMTP  Server module to deliver.
  657.                In the  same scan  cycle the  MHS Gateway module also checks
  658.                the SMTP_IN  queue, converts any messages found in it to MHS
  659.                format, and  posts them in the MHS inbound directory for MHS
  660.                to route.
  661.  
  662.                Once every  second the SMTP Server module scans the SMTP_OUT
  663.                queue for new messages that are ready for servicing.  If one
  664.                is found, it launches an outbound process to deliver it.
  665.  
  666.                The SMTP  Server module is always capable of receiving a new
  667.                inbound  SMTP   (listen)  connection   (which   is   handled
  668.                asynchronously at  interrupt  time  by  the  Mach  2  TCP/IP
  669.                protocol stack).  When the SMTP Server finishes receiving an
  670.                inbound SMTP  message, it  puts it  in the SMTP_IN queue for
  671.                the MHS Gateway module to process on its next cycle.
  672.  
  673.                Most of  this is  mentioned only  to satisfy the technically
  674.                curious.   There's no real need to completely understand it.
  675.  
  676.  
  677.  
  678.                                           4
  679.  
  680.                                                 XGATE - MHS to SMTP Gateway
  681.           -----------------------------------------------------------------
  682.  
  683.  
  684.  
  685.                Creating the  SMTP job  queues, and  granting  queue  server
  686.                rights to  an existing  user, are performed with a couple of
  687.                easy steps from within XGATE's SETUP program.
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.                                           5
  743.  
  744.                                                 XGATE - MHS to SMTP Gateway
  745.           -----------------------------------------------------------------
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.           AddressingAddressing
  754.  
  755.                There are  two different names involved when addressing mail
  756.                through XGATE.   One is the TCP/IP host name that SMTP users
  757.                know  it   by  (defined   as  the   "smtp_gateway_name"   in
  758.                XGATE.CFG), the other is the MHS gateway name that MHS users
  759.                know it by (the "mhs_gateway_name" in XGATE.CFG).
  760.  
  761.                The trick to understanding how both names are used is mainly
  762.                to look  at it  in the  perspective of which way the mail is
  763.                going.
  764.  
  765.                When MHS  mail is  going through  XGATE to an SMTP user, the
  766.                message is  addressed to  XGATE's MHS  gateway name  and the
  767.                actual SMTP address is given in (what MHS calls) an extended
  768.                address field.  This is because you normally just can't fill
  769.                in the  "To:" address  of an  MHS message with only the SMTP
  770.                address and  expect MHS  to know  what to do with it (unless
  771.                you're on MHS 2.0 or NGM and properly configure them - which
  772.                is explained under "Using XGATE with SMF-71").
  773.  
  774.                When SMTP  mail is coming to XGATE destined for an MHS user,
  775.                the message  is addressed  to the MHS user at XGATE's TCP/IP
  776.                host name.   (Sometimes  the user's MHS hub name needs to be
  777.                included after  the user's  name, if the user can't be found
  778.                at the default MHS workgroup.)
  779.  
  780.  
  781.           Addressing From SMTP to MHSAddressing From SMTP to MHS
  782.  
  783.                So how does a SMTP user send mail to a MHS user?
  784.  
  785.                If the  TCP/IP host  name for XGATE is "xgate.acme.com", and
  786.                if you  have an  MHS user  called "Joe",  SMTP mail would be
  787.                sent to Joe like this:
  788.  
  789.                    joe@xgate.acme.com
  790.  
  791.                If you  have multiple  MHS hosts  and don't use a workgroup-
  792.                wide router,  or Joe is on a different MHS hub - the name of
  793.                Joe's MHS  host may  also be given in the SMTP address.  For
  794.                example:
  795.  
  796.                    joe%mhs1@xgate.acme.com
  797.  
  798.                In this  example a  percent sign  is used  to separate Joe's
  799.                user name  from his  MHS host  name, which  is  the  default
  800.                syntax under  SMF-71 conventions.   XGATE also recognizes an
  801.                alternate syntax  of using  a period  instead, but the rules
  802.                get a little complicated.  For more information refer to the
  803.  
  804.  
  805.  
  806.                                           6
  807.  
  808.                                                 XGATE - MHS to SMTP Gateway
  809.           -----------------------------------------------------------------
  810.  
  811.  
  812.  
  813.                "name_mapping_mode" option  described  under  the  XGATE.CFG
  814.                reference.
  815.  
  816.                If a  user has more than one application name under MHS, the
  817.                MHS application name can also be specified (normally this is
  818.                not necessary  since MHS  will deliver  E-Mail to the user's
  819.                default application),  by enclosing  the application name in
  820.                square brackets.  For example:
  821.  
  822.                    joe[pmail]@xgate.acme.com
  823.  
  824.                If both the application name and the MHS hub name are given,
  825.                the application  name should  precede the  hub  name.    For
  826.                example:
  827.  
  828.                    joe[pmail]%mhs1@xgate.acme.com
  829.  
  830.                And lastly,  extended  addressing  parameters  can  also  be
  831.                specified (which  allows an  SMTP user to send parameters to
  832.                another gateway  on your MHS system, such as a FAX gateway),
  833.                by enclosing them in curly braces.  For example:
  834.  
  835.                    faxgate{801-555-9600}@xgate.acme.com
  836.  
  837.  
  838.           Addressing From MHS to SMTPAddressing From MHS to SMTP
  839.  
  840.                Under MHS  you define  a gateway name for XGATE to use.  The
  841.                name of  the gateway is akin to the name of another MHS hub.
  842.                When MHS users send mail through XGATE, they have to address
  843.                the message  to XGATE's gateway name (so MHS will give it to
  844.                XGATE) and enclose the destination SMTP address inside curly
  845.                braces (which  is what  MHS calls  an  "extended"  address).
  846.                When XGATE  then gets the message, it looks for the extended
  847.                address and  uses it as the destination address for the SMTP
  848.                user.
  849.  
  850.                The syntax  that your MHS E-Mail application uses to do this
  851.                may vary (most use the native MHS format).
  852.  
  853.                The native MHS syntax is:
  854.  
  855.                    user . application @ host {extended_address}
  856.  
  857.                When XGATE  gets a  message from  MHS, it  normally pays  no
  858.                attention to  what "user"  name was used unless the extended
  859.                address isn't  given.   The "extended_address" is what XGATE
  860.                looks for in order to address the SMTP user.
  861.  
  862.                For example,  if XGATE's  gateway name is called "SMTP", and
  863.                an MHS  user wanted to send mail to "joe@acme.com", he would
  864.                address the message like this:
  865.  
  866.                    email @ smtp {joe@acme.com}
  867.  
  868.  
  869.  
  870.                                           7
  871.  
  872.                                                 XGATE - MHS to SMTP Gateway
  873.           -----------------------------------------------------------------
  874.  
  875.  
  876.  
  877.           Static MHS Reply AddressStatic MHS Reply Address
  878.  
  879.                The syntax  just described  previously under Addressing From
  880.                MHS to  SMTP is the conventional way to address mail through
  881.                an MHS gateway.  There is however, another method that XGATE
  882.                supports called Static Reply Addressing.
  883.  
  884.                When this mode is enabled, XGATE builds reply addresses from
  885.                inbound SMTP mail with an MHS format of:
  886.  
  887.                    gateway_name @ workgroup {joe@acme.com}
  888.  
  889.                Which also  works fine going through MHS - and in most cases
  890.                is a  matter of  symantics (depending  on whether you have a
  891.                multi-host workgroup).   For  instance, if  you  had  called
  892.                XGATE's gateway  name "SMTP" and your MHS workgroup name was
  893.                "XYZ", the  reply address  that XGATE builds would look like
  894.                this:
  895.  
  896.                    SMTP @ XYZ {joe@acme.com}
  897.  
  898.                If you  prefer the  appearance of  a reply  address in  this
  899.                format (and/or  finding it  easier to  tell MHS users how to
  900.                address  SMTP   mail  through   XGATE),  then   enable   the
  901.                static_reply_address option in XGATE.CFG.
  902.  
  903.  
  904.           The Default SMTP HostThe Default SMTP Host
  905.  
  906.                In XGATE's  configuration file you can define a default SMTP
  907.                host.   When XGATE  processes a message that doesn't specify
  908.                the destination  SMTP host,  the message will be sent to the
  909.                default SMTP host.
  910.  
  911.                For example, if the default SMTP host is set to "kirby.com",
  912.                and an MHS user wanted to send a message to "joe@kirby.com",
  913.                they could simply address the message as:
  914.  
  915.                    email @ smtp {joe}
  916.  
  917.                Furthermore, if  the extended address is not present at all,
  918.                XGATE will  send the  message to  the MHS  user name  at the
  919.                default SMTP  host.  Since MHS user names can't exceed eight
  920.                characters (except  SMF-71), sending  a message to a user at
  921.                the default  SMTP host can be reduced down to just a "user @
  922.                xgate" syntax if the recipient's name is eight characters or
  923.                less.  For example:
  924.  
  925.                    joe @ smtp
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.                                           8
  935.  
  936.                                                 XGATE - MHS to SMTP Gateway
  937.           -----------------------------------------------------------------
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.           Features and OptionsFeatures and Options
  946.  
  947.  
  948.  
  949.           UuencodingUuencoding
  950.  
  951.                If the  "uuencode" option  in XGATE.CFG  is enabled  (or not
  952.                specified -  the default  is enabled),  XGATE  automatically
  953.                uuencodes and decodes MHS file attachments.
  954.  
  955.                When enabled, each message received from SMTP is scanned for
  956.                encoded blocks which are automatically decoded, and outbound
  957.                MHS messages that contain file attachments are automatically
  958.                uuencoded into the SMTP message body.
  959.  
  960.                The scanning  algorithm of  inbound SMTP  messages  is  very
  961.                picky about  assuming the presence of a uuencoded block.  If
  962.                any part  of the  uuencoded block  doesn't  conform  to  the
  963.                specification, scanning is abandoned and the message body is
  964.                passed through untouched.
  965.  
  966.                If you are running on MHS 1.5 or greater, multiple uuencoded
  967.                files can  exist in  an inbound  SMTP message  and  will  be
  968.                decoded into  separate file attachments in the resulting MHS
  969.                message.   If you  are running  a version  of MHS older than
  970.                1.5, only  the first  uuencoded block  is decoded  to a file
  971.                attachment.   Any subsequent  uuencoded blocks  in the  same
  972.                message will remain in the body text of the message.
  973.  
  974.                When a  block of  uuencoded text  is decoded from an inbound
  975.                SMTP message,  the  uuencoded  block  is  removed  from  the
  976.                message text,  but the  lines preceding  and  following  the
  977.                block remain intact.
  978.  
  979.                XGATE has  no internal  limitations on the size of uuencoded
  980.                files.
  981.  
  982.                Encode  and  decode  are  standard  utilities  in  the  UNIX
  983.                operating system.  But, its not so standard to automatically
  984.                scan and  decode a  message containing a uuencoded file when
  985.                received by  a remote  SMTP mailer,  or other  types of SMTP
  986.                gateways.   In some instances, the remote SMTP user may have
  987.                to save the received message to a file and then run a decode
  988.                program against  it in  order to  extract the attached file.
  989.                Public domain  PC-based decode  programs are  available that
  990.                run under  both  DOS  and  Windows,  and  can  be  found  on
  991.                Compuserve or on our BBS.
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.                                           9
  999.  
  1000.                                                 XGATE - MHS to SMTP Gateway
  1001.           -----------------------------------------------------------------
  1002.  
  1003.  
  1004.  
  1005.           Appending ASCII AttachmentsAppending ASCII Attachments
  1006.  
  1007.                When an outbound MHS message has a file attachment that only
  1008.                contains ASCII  text characters,  it  may  be  desirable  to
  1009.                simply append  the file attachment onto the body of the SMTP
  1010.                message rather  than uuencode  it (which saves the recipient
  1011.                from having  to decode  it if  their SMTP  mailer or gateway
  1012.                doesn't perform the service automatically).
  1013.  
  1014.                This feature  is enabled  with  the  following  variable  in
  1015.                XGATE.CFG:
  1016.  
  1017.                    APPEND_ASCII_ATTACH = nn
  1018.  
  1019.                "nn" is  the maximum  size of  an attached  file (in K) that
  1020.                will be  considered for appending.  A value of zero disables
  1021.                this feature.   Any file that contains characters other than
  1022.                the ASCII  characters 9,  10, 12,  13, 32-127 (26 allowed at
  1023.                the end  of file)  is automatically disqualified and will be
  1024.                uuencoded instead (if enabled).
  1025.  
  1026.  
  1027.           Large Message Roll-offLarge Message Roll-off
  1028.  
  1029.                When an  inbound SMTP message contains body text larger than
  1030.                what your  MHS E-Mail application can handle, XGATE provides
  1031.                a configurable  option that  can move  the body off to a MHS
  1032.                file attachment.   For instance, Beyond Mail for Windows has
  1033.                a body  text limit  of 32K.   If  an  inbound  SMTP  message
  1034.                contained body text larger than 32K, Beyond Mail for Windows
  1035.                simply truncates the message at the 32K boundary.
  1036.  
  1037.                This feature  is enabled  with  the  following  variable  in
  1038.                XGATE.CFG:
  1039.  
  1040.                    CONV_BODY_TO_ATTACH = nn
  1041.  
  1042.                "nn" is the maximum body text size (in K) of an inbound SMTP
  1043.                message that  will pass through without being rolled off.  A
  1044.                value of  zero disables  this feature.  When an inbound SMTP
  1045.                message body  is moved to a file attachment, a small note is
  1046.                written in the message body indicating this occurred.
  1047.  
  1048.  
  1049.           Return ReceiptsReturn Receipts
  1050.  
  1051.                XGATE can  be configured  to always request a return receipt
  1052.                when incoming  SMTP  mail  is  read  by  the  MHS  user,  by
  1053.                including the following statement in XGATE.CFG:
  1054.  
  1055.                    SMTP_RECEIPTS = Y
  1056.  
  1057.                But this  option can  only be  on or  off globally  for  all
  1058.                inbound SMTP  mail.   If this  option is  disabled (which is
  1059.  
  1060.  
  1061.  
  1062.                                          10
  1063.  
  1064.                                                 XGATE - MHS to SMTP Gateway
  1065.           -----------------------------------------------------------------
  1066.  
  1067.  
  1068.  
  1069.                normal), two  other methods  of getting a return receipt are
  1070.                still available:
  1071.  
  1072.                    1) SMTP users  can ask for a return receipt by embedding
  1073.                       a flag  in the address of the message, which produces
  1074.                       the same affect on a case-by-case basis.
  1075.  
  1076.                       Normally,  a  SMTP  user  addresses  a  MHS  user  as
  1077.                       follows:
  1078.  
  1079.                          user%mhshub@smtp_gateway_name
  1080.  
  1081.                       However, if a "/r" is embedded after the MHS hub name
  1082.                       (or after  the user  name if  hub names  aren't being
  1083.                       used) XGATE  will build the MHS message with a return
  1084.                       receipt requested.  For example:
  1085.  
  1086.                          user%mhshub/r@smtp_gateway_name
  1087.  
  1088.                    2) XGATE will  always request  an MHS  return receipt if
  1089.                       the inbound  SMTP message  has a "Return-Receipt-To:"
  1090.                       header field.
  1091.  
  1092.                For mail  going from  MHS to  SMTP, return  receipts  are  a
  1093.                little more convoluted.
  1094.  
  1095.                XGATE.CFG has  an  option  called  "use_mhs_ret_rcpts"  that
  1096.                controls whether  XGATE pays any attention to an MHS message
  1097.                that requests  a return  receipt.   SMTP was  never designed
  1098.                with return receipts in mind.  Some SMTP mailers recognize a
  1099.                "Return-Receipt-To:" header  field and  some don't.    If  a
  1100.                mailer does  recognize this  field, it  usually generates  a
  1101.                delivery notification, not a time-of-reading return receipt.
  1102.                If the  "use_mhs_ret_rcpts" option  is enabled,  XGATE  will
  1103.                build  the   "Return-Receipt-To:"  field  in  outgoing  SMTP
  1104.                messages when a MHS message requests a return receipt.  This
  1105.                option  is   disabled  by   default   since   the   delivery
  1106.                notifications could  be misleading  to MHS  users who  would
  1107.                usually think it means the message had been read.
  1108.  
  1109.                MHS users  still have  another means  of requesting a return
  1110.                receipt even if the "use_mhs_ret_rcpts" field is disabled in
  1111.                XGATE.CFG.   A flag can be embedded in the SMTP address that
  1112.                also causes  XGATE to  build the  same  "Return-Receipt-To:"
  1113.                field in the SMTP header.
  1114.  
  1115.                    Normally, a MHS user addresses a SMTP user as follows:
  1116.  
  1117.                       user @ gateway {username@smtphost}
  1118.  
  1119.                    If an  additional "/r"  is embedded after the "username"
  1120.                    in the  SMTP address,  XGATE will  generate the "Return-
  1121.                    Receipt-To" field  in the  outgoing  SMTP  message  (and
  1122.                    remove the /r of course).  For example:
  1123.  
  1124.  
  1125.  
  1126.                                          11
  1127.  
  1128.                                                 XGATE - MHS to SMTP Gateway
  1129.           -----------------------------------------------------------------
  1130.  
  1131.  
  1132.  
  1133.  
  1134.                       user @ gateway {username/r@smtphost}
  1135.  
  1136.  
  1137.           PostmasterPostmaster
  1138.  
  1139.                XGATE automatically  forwards received  SMTP mail  addressed
  1140.                for "Postmaster" to the MHS administrator.
  1141.  
  1142.                When XGATE returns a -Maiser- delivery error to an SMTP user
  1143.                that was  generated by  MHS, the  sender of  the message  is
  1144.                automatically remapped from "-Maiser-" to "Postmaster".
  1145.  
  1146.  
  1147.           Native Mode SMF-71Native Mode SMF-71
  1148.  
  1149.                XGATE can be used with SMF-71 (MHS 2.0 or NGM) just the same
  1150.                as with  older versions  of MHS  and nothing changes.  XGATE
  1151.                automatically detects when its running with NGM (or MHS 2.0)
  1152.                and writes SMF-71 style envelopes for outbound MHS messages,
  1153.                and it  automatically handles  SMF-71 style  envelopes  when
  1154.                processing inbound  MHS mail.   But  it won't  automatically
  1155.                assume native SMF-71 style addressing unless you tell it to.
  1156.  
  1157.                If you  are using  NGM (or  MHS 2.0),  you should  configure
  1158.                XGATE as a version 71 gateway regardless.  But all that does
  1159.                is tell NGM that XGATE knows how to read an SMF-71 envelope,
  1160.                which is what NGM will then use when it gives XGATE mail.
  1161.  
  1162.                Where the  difference  lies  between  what  we  are  calling
  1163.                "native mode  addressing", and old-style gateway addressing,
  1164.                is whether  you want  MHS users  to be  able to address SMTP
  1165.                users without  having to  use the  extended address  syntax.
  1166.                Until SMF-71  the only  way to get mail through XGATE was to
  1167.                address it  to XGATE's gateway name and then use an extended
  1168.                address (the  stuff in  curly braces) to actually define the
  1169.                destination SMTP address.  For example:
  1170.  
  1171.                     email @ smtp {joe@acme.com}
  1172.  
  1173.                But with  the introduction  of SMF-71,  Novell added  a  new
  1174.                feature that  allows a  message to  be  delivered  to  XGATE
  1175.                without XGATE's gateway name having been explicitly given in
  1176.                the destination  address.   This is done by telling NGM that
  1177.                XGATE supports  "additional address  formats".    What  this
  1178.                basically does  is let  you define  certain patterns  in  an
  1179.                address which  influence where  NGM routes  a message.   For
  1180.                example, you  can tell  NGM that  any address  ending with a
  1181.                ".com" goes  to XGATE.   This  means Joe  can  be  addressed
  1182.                simply by  using his  normal SMTP  address without having to
  1183.                also give the "email @ smtp {" business in front of it.  For
  1184.                example:
  1185.  
  1186.                     joe@acme.com
  1187.  
  1188.  
  1189.  
  1190.                                          12
  1191.  
  1192.                                                 XGATE - MHS to SMTP Gateway
  1193.           -----------------------------------------------------------------
  1194.  
  1195.  
  1196.  
  1197.  
  1198.                When NGM is set up in this manner however, XGATE needs to be
  1199.                told not  to bother  looking for  the extended address - and
  1200.                furthermore, not to build the reply address for inbound SMTP
  1201.                mail with the extended address format.  You do this with the
  1202.                following statement in XGATE.CFG:
  1203.  
  1204.                    NATIVE_SMF71 = Y
  1205.  
  1206.                When the "native_smf71" option is enabled, all possible SMTP
  1207.                root domains  should  be  properly  entered  as  "Additional
  1208.                Address Formats  Supported" in XGATE's gateway configuration
  1209.                under NGMADMIN, or outbound SMTP messages will not be routed
  1210.                properly to  XGATE, and  will probably  be returned  to  the
  1211.                sender.
  1212.  
  1213.                Whether you  are going  to use  the "native_smf71" option or
  1214.                not, there  is nothing  different about  the actual steps of
  1215.                adding XGATE  as a  gateway name under MHS 2.0 or NGM, it is
  1216.                performed in the same manner for both cases.
  1217.  
  1218.                The difference  is that  when you  enable "native_smf71"  in
  1219.                XGATE, you  must also  ensure that all address formats (SMTP
  1220.                root  domains)  are  also  defined  as  "Additional  Address
  1221.                Formats Supported"  by XGATE's  gateway name  in NGM because
  1222.                the dependence  is now  totally on  NGM  to  route  messages
  1223.                intended  for   SMTP  users  to  XGATE  when  they  are  not
  1224.                explicitly addressed to XGATE.
  1225.  
  1226.                To add  XGATE as  a gateway under NGM, use the NGMADMIN NLM.
  1227.                From NGMADMIN's  Main Menu,  select "This  Server" and  then
  1228.                select "SMF  Gateways".   To add  a new  gateway, press  the
  1229.                Insert key.   Most of the options are self-explanatory.  The
  1230.                "Command Line:"  and "Execution  Interval:" fields  are  not
  1231.                relevant for XGATE.  The "SMF Version:" should be set to 71.
  1232.                When you are done, press the Escape key.
  1233.  
  1234.                If  you  are  going  to  enable  XGATE.CFG's  "native_smf71"
  1235.                option, select  XGATE's gateway  name from  under  the  "SMF
  1236.                Gateway's Menu"  and press  Return.   A sub-menu  describing
  1237.                configurable  options   for  XGATE  then  appears.    Select
  1238.                "Additional Address  Formats Supported"  and  press  Return.
  1239.                For each  SMTP root  domain that  needs to be added, use the
  1240.                Insert key.   Some of the additional formats you may want to
  1241.                enter are:
  1242.  
  1243.                     **@**.com
  1244.                     **@**.org
  1245.                     **@**.edu
  1246.                     **@**.gov
  1247.                     **@**.mil
  1248.  
  1249.                When  adding  additional  address  formats,  the  menu  also
  1250.                prompts you  for a  priority number.  The priority number is
  1251.  
  1252.  
  1253.  
  1254.                                          13
  1255.  
  1256.                                                 XGATE - MHS to SMTP Gateway
  1257.           -----------------------------------------------------------------
  1258.  
  1259.  
  1260.  
  1261.                used to  determine where  a message should be routed if more
  1262.                than one  host or  gateway contains a qualifying format.  If
  1263.                XGATE's gateway  name is  the only  route for  an SMTP  root
  1264.                domain,  the   value  used   for  the   priority  is  purely
  1265.                subjective.
  1266.  
  1267.  
  1268.           Receiving SMTP MailReceiving SMTP Mail
  1269.  
  1270.                XGATE will  NOT act  as a relay host for other SMTP systems.
  1271.                Do not  configure another  SMTP mailer  to relay its mail to
  1272.                XGATE!   All mail  received is accepted without question and
  1273.                considered destined for an MHS user.
  1274.  
  1275.                Since all  mail received  is considered  destined for an MHS
  1276.                user, XGATE performs no validity checking of the recipient's
  1277.                name.   It expects  MHS to generate delivery errors for mis-
  1278.                addressed messages,  and return  them back through XGATE for
  1279.                delivery to the SMTP user.
  1280.  
  1281.                When receiving  an SMTP  message, if the host name for XGATE
  1282.                was given  as a numerical IP address (i.e. Joe@134.23.45.1),
  1283.                it'll  work   fine.    Likewise,  outbound  SMTP  mail  that
  1284.                originates from  MHS can  also be  given as  a numerical  IP
  1285.                address (not  normally recommended  though).   If  you  have
  1286.                XGATE configured  to relay  mail to  another host, the relay
  1287.                host may  not like  it (along  with any  mail exchangers  in
  1288.                between).   Mail is  normally addressed  to an  individual's
  1289.                host name  not the  IP address  - all  we're saying  is that
  1290.                XGATE doesn't  have any  problems dealing with an IP address
  1291.                instead of a host name, should one pass through it.
  1292.  
  1293.  
  1294.           Delivery ModesDelivery Modes
  1295.  
  1296.                For outbound SMTP mail, XGATE can operate in a relay mode, a
  1297.                direct deliver  mode, or  a mixture  of both.  In relay only
  1298.                mode XGATE  passes all  outbound mail to another nearby SMTP
  1299.                host.     In  direct   delivery  mode   XGATE  resolves  the
  1300.                recipient's host name either to a direct IP address or an MX
  1301.                record, and  then initiates  a  connection  to  deliver  the
  1302.                message.
  1303.  
  1304.                When attempting  to directly  deliver a message, XGATE first
  1305.                tries the  actual IP  address of the destination host.  If a
  1306.                name lookup  for the  actual address  fails, or a connection
  1307.                attempt directly to the IP address fails, XGATE then queries
  1308.                for an MX record.
  1309.  
  1310.                Note:  This is  actually backwards from RFC-821, but we felt
  1311.                the  priority   should  be   towards  delivering   mail   as
  1312.                expeditiously as possible.  In the world of PC-based E-Mail,
  1313.                users don't have a lot of patience and understanding for why
  1314.  
  1315.  
  1316.  
  1317.  
  1318.                                          14
  1319.  
  1320.                                                 XGATE - MHS to SMTP Gateway
  1321.           -----------------------------------------------------------------
  1322.  
  1323.  
  1324.  
  1325.                their message  sat in  a mail  exchange  host  for  2  hours
  1326.                waiting for the next mail event to occur.
  1327.  
  1328.                What controls  this  is  based  on  how  you  configure  the
  1329.                XGATE.CFG file.  In order to do direct delivery, XGATE needs
  1330.                to know  the IP address of at least one name server.  It can
  1331.                be configured  to use as many as ten different name servers.
  1332.                If no  name servers  are given in XGATE.CFG, XGATE will work
  1333.                in relay  mode only.   Conversely, if the IP address for the
  1334.                relay host  isn't given,  XGATE will  only  work  in  direct
  1335.                delivery mode  using the  name servers specified.  If the IP
  1336.                addresses of both the relay host and name servers are given,
  1337.                the order  in which  they are attempted is controlled by the
  1338.                "relay_mode" variable in XGATE.CFG.
  1339.  
  1340.                What are the pro's and con's?  In direct delivery mode XGATE
  1341.                is  usually  more  verbose  (than  most  UNIX  boxes)  about
  1342.                reporting undeliverable status back to the sending MHS user.
  1343.                After 4  hours of not being able to deliver a message, XGATE
  1344.                will notify the MHS user that the message is having trouble,
  1345.                and indicates  why.   For each  24 hour  period  afterwards,
  1346.                another problem message is sent back to the sender until the
  1347.                undeliverable point  is reached, at which time XGATE cancels
  1348.                the message and notifies the sender.
  1349.  
  1350.                In a  direct  delivery  configuration,  mail  will  also  be
  1351.                delivered to a recipient's host significantly sooner.
  1352.  
  1353.                Depending on  the type  of connection  though (i.e.  to  the
  1354.                Internet -  whether its  hidden behind an unreliable router,
  1355.                etc...), XGATE  may not  be  as  reliable  in  reaching  all
  1356.                possible destination  hosts in  direct delivery  mode,  than
  1357.                another nearby  UNIX box might be if it has a better or more
  1358.                direct access to the Internet.
  1359.  
  1360.                Usually the  best way  to first  configure  XGATE  is  using
  1361.                "relay_mode=0"  where   it  tries   direct  delivery   first
  1362.                (provided  you  have  direct  Internet  access)  using  name
  1363.                servers, but  also have  a relay  host defined  in the event
  1364.                direct delivery doesn't work for a valid destination.
  1365.  
  1366.                Sometimes it  takes a  little experimentation  to  determine
  1367.                which is the best approach to use.
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.                                          15
  1383.  
  1384.                                                 XGATE - MHS to SMTP Gateway
  1385.           -----------------------------------------------------------------
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.           Running XGATERunning XGATE
  1394.  
  1395.                When you  start XGATE,  the current drive and directory must
  1396.                contain XGATE's overlays and configuration files.
  1397.  
  1398.                Also, when you start XGATE a user with the proper SMTP queue
  1399.                privileges must  already be  logged in  to the  file  server
  1400.                (unless you want XGATE to perform the login by providing the
  1401.                user name on XGATE's command line).
  1402.  
  1403.                Normally you would have the AUTOEXEC.BAT file run XGATE.  If
  1404.                you are  using Novell  ODI drivers,  it might look something
  1405.                like this:
  1406.  
  1407.                    @ECHO OFF
  1408.                    PATH C:\DOS
  1409.                    PROMPT $P$G
  1410.                    CD \ODI
  1411.                      LSL
  1412.                      NE2000
  1413.                      IPXODI
  1414.                      NETX
  1415.                    CD \XGATE
  1416.                      XGATE xgate,password
  1417.  
  1418.                If you installed XGATE on a network drive rather than on the
  1419.                C: drive,  the AUTOEXEC.BAT  file will also have to login to
  1420.                the file  server and  map a drive to the right server volume
  1421.                before XGATE is run.  For example:
  1422.  
  1423.                    @ECHO OFF
  1424.                    PATH C:\DOS
  1425.                    PROMPT $P$G
  1426.                    CD \ODI
  1427.                      LSL
  1428.                      NE2000
  1429.                      IPXODI
  1430.                      NETX
  1431.                    CD \NETUTILS
  1432.                      ATTACH fs/XGATE
  1433.                      MAP F:=fs/VOL1:XGATE
  1434.                      F:
  1435.                      XGATE
  1436.  
  1437.                This example  assumes that  you've copied the ATTACH.EXE and
  1438.                MAP.EXE  files   from  SYS:PUBLIC  to  C:\NETUTILS  (on  the
  1439.                computer that will run XGATE), and that a user name (without
  1440.                a password)  called XGATE exists in the bindery and has been
  1441.                granted queue  privileges to  the SMTP  queues (with XGATE's
  1442.                SETUP program),  and that XGATE's overlays and configuration
  1443.  
  1444.  
  1445.  
  1446.                                          16
  1447.  
  1448.                                                 XGATE - MHS to SMTP Gateway
  1449.           -----------------------------------------------------------------
  1450.  
  1451.  
  1452.  
  1453.                files are  installed  in  a  subdirectory  on  VOL1:  called
  1454.                "XGATE".
  1455.  
  1456.                If the  computer running  XGATE is  a  386  or  better  with
  1457.                extended memory,  using an  extended memory manager that can
  1458.                provide some  of it  as expanded  memory  (LIM/EMS  4.0)  is
  1459.                recommended.
  1460.  
  1461.                Also providing  UMB memory (Upper Memory Blocks), and LOADHI
  1462.                as much  of the  network drivers as possible beforehand will
  1463.                prove helpful.   But  even if  you didn't LOADHI any network
  1464.                drivers before  running XGATE, if UMB memory is present when
  1465.                XGATE starts,  it will automatically LOADHI its own overlays
  1466.                and will  use as much of the free UMB memory as possible for
  1467.                a significant portion of its other memory requirements.
  1468.  
  1469.  
  1470.           Command Line Switches and SyntaxCommand Line Switches and Syntax
  1471.  
  1472.                XGATE has the following command line syntax:
  1473.  
  1474.                    XGATE [login_name][,password] [switches]
  1475.  
  1476.                Whether you specify a login name on the command line usually
  1477.                depends on  where you  installed  XGATE's  files.    If  you
  1478.                installed XGATE's files on a file server volume, then before
  1479.                you run  XGATE the computer must already have been logged in
  1480.                and the  current drive  and directory  mapped to  the  drive
  1481.                where XGATE's  files are located.  In this case you probably
  1482.                wouldn't want  XGATE to  attempt another  file server  login
  1483.                (which is  the same way in which you normally run MHS).  But
  1484.                if you've installed XGATE's files on the local C:, it may be
  1485.                a lot  easier to  simply have  XGATE do  the login  with the
  1486.                appropriate user name (and optional password).
  1487.  
  1488.                For the  most part  XGATE does not use command line switches
  1489.                to influence or control any feature or option related to the
  1490.                handling of  mail, which is instead controlled by options in
  1491.                XGATE.CFG.  Command line switches are mainly used to alter a
  1492.                cosmetic behavioral aspect of the program itself.  (With the
  1493.                possible exception of the -Vnn switch.)
  1494.  
  1495.                -I-I     When this  switch is used, each ICMP message received
  1496.                       is displayed  in  the  SMTP  Monitor.    Without  it,
  1497.                       received  ICMP  messages  are  suppressed  (with  the
  1498.                       exception of an ICMP echo reply from a PING request).
  1499.                       In  some  situations  the  number  of  ICMP  messages
  1500.                       received can  be rather  verbose (i.e.  redirects, or
  1501.                       source quench)  so this  switch is provided primarily
  1502.                       for debugging  purposes.   The screen output, with it
  1503.                       enabled, can  get a little convoluted and/or use up a
  1504.                       lot of scroll back buffer.
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.                                          17
  1511.  
  1512.                                                 XGATE - MHS to SMTP Gateway
  1513.           -----------------------------------------------------------------
  1514.  
  1515.  
  1516.  
  1517.                -M-M     MHS Gateway  mode only.  This switch causes XGATE not
  1518.                       to load the SMTP Server module, effectively providing
  1519.                       only  the   MHS  conversion   functions.    For  more
  1520.                       information refer to the -S switch.
  1521.  
  1522.                -N-N     This switch  causes DNS  (domain name server) lookups
  1523.                       (along with  queries received from local nodes) to be
  1524.                       much more  verbose than  normal in  the SMTP Monitor.
  1525.                       This is  primarily meant for debugging purposes.  The
  1526.                       screen output,  with it  enabled, can use up a lot of
  1527.                       scroll back buffer very rapidly.
  1528.  
  1529.                -S-S     SMTP Server  mode only.   This switch causes XGATE to
  1530.                       directly enter  the SMTP  Server monitor  on startup,
  1531.                       and to  exit completely when quit.  Using this switch
  1532.                       allows you to split the functionality of XGATE across
  1533.                       two computers.   One  runs XGATE with a -S, the other
  1534.                       runs XGATE  with a -M.  Use of the -M and -S switches
  1535.                       is  not   normal.    They  are  provided  mainly  for
  1536.                       debugging situations.
  1537.  
  1538.                       Should  you   choose  to   split  XGATE  between  two
  1539.                       computers in this fashion, your license allows you to
  1540.                       do so.   But  your license  does not allow you to run
  1541.                       two fully functional copies of XGATE simultaneously.
  1542.  
  1543.                -Vnn-Vnn   Overrides automatic  detection  of  the  MHS  version
  1544.                       number.   For instance,  if you  are running  MHS 2.0
  1545.                       (SMF-71) but  you want  XGATE to behave as if it were
  1546.                       MHS 1.5  (SMF-70), use  a -V70   command line switch.
  1547.                       It is  not recommended  that you  tell XGATE to use a
  1548.                       higher version  of MHS  than  is  actually  installed
  1549.                       though!   Valid switch  options are  -V64, -V70,  and
  1550.                       -V71.
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.                                          18
  1575.  
  1576.                                                 XGATE - MHS to SMTP Gateway
  1577.           -----------------------------------------------------------------
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.           Using XGATEUsing XGATE
  1586.  
  1587.                At startup,  XGATE normally  comes up  in  the  MHS  Gateway
  1588.                Activity screen (unless you run it with a -S switch).
  1589.  
  1590.                The 25th  screen line  is  a  status  line  that  constantly
  1591.                displays some  important status  information (unless  you're
  1592.                temporally using an interactive command).
  1593.  
  1594.                If at  any time you need help on keyboard commands, pressing
  1595.                the <Esc>  key will temporarily replace the status line with
  1596.                a list  of active  commands (which vary depending on whether
  1597.                you're in  the  MHS  Gateway  screen  or  the  SMTP  Monitor
  1598.                screen).
  1599.  
  1600.                To switch to the SMTP Monitor (server) screen, press the <M>
  1601.                key.   To switch  back to  the MHS Gateway screen, press the
  1602.                <Q> key.   Or,  you can  use the <Tab> key to quickly switch
  1603.                between the two screens.
  1604.  
  1605.  
  1606.           Scroll BackScroll Back
  1607.  
  1608.                You can  activate the  scroll back  feature in  both the MHS
  1609.                Gateway screen  or the  SMTP  Monitor  screen,  by  pressing
  1610.                either the <Up>, <PgUp>, or <Home> cursor keys.
  1611.  
  1612.                While scroll  back is  active, use  the standard cursor keys
  1613.                (<Up>,  <Dn>,   <PgUp>,  <PgDn>,   <Home>,  and   <End>)  to
  1614.                manipulate the screen within the scroll back buffer.
  1615.  
  1616.                To manually cancel scroll back, press the <Esc> key.  Scroll
  1617.                back  automatically   self-cancels  after   5   minutes   of
  1618.                inactivity.
  1619.  
  1620.                When scroll  back is  active, an  "SB" is  displayed in  the
  1621.                bottom right  corner on the 25th screen line, and the screen
  1622.                is considered  frozen -  which means XGATE will not suddenly
  1623.                refresh it  (or scroll it up on its own) if new activity has
  1624.                occurred.
  1625.  
  1626.                The size  of the  scroll back  buffers  depends  on  whether
  1627.                Expanded  Memory   (LIM/EMS  4.0)  was  present  when  XGATE
  1628.                started.   If it  was, XGATE  will  try  allocate  64K  from
  1629.                expanded memory  for each  scroll back  buffer.  If Expanded
  1630.                Memory isn't  present, the scroll back buffers are allocated
  1631.                with  x-number   of  lines   from  conventional   memory  as
  1632.                determined     by     the     "mhs_scrollback_lines"     and
  1633.                "smtp_scrollback_lines" variables in XGATE.CFG.
  1634.  
  1635.  
  1636.  
  1637.  
  1638.                                          19
  1639.  
  1640.                                                 XGATE - MHS to SMTP Gateway
  1641.           -----------------------------------------------------------------
  1642.  
  1643.  
  1644.  
  1645.           MHS Gateway ActivityMHS Gateway Activity
  1646.  
  1647.                The MHS  Gateway Activity  screen is  a  condensed  list  of
  1648.                activity that  has passed  through the  gateway.   Each line
  1649.                represents  a   message  that   was  sent  to  a  particular
  1650.                recipient.   If a  single message was addressed to more than
  1651.                one user, a separate line is used for each recipient.
  1652.  
  1653.                The following commands are active in the MHS Gateway screen:
  1654.  
  1655.  
  1656.                D - DebugD - Debug
  1657.  
  1658.                    This is  a command  that does a small check to make sure
  1659.                    XGATE hasn't  lost any  file handles  (the default is 40
  1660.                    under NetWare),  and how  much of  the MHS process stack
  1661.                    has been consumed during MHS conversion activities.
  1662.  
  1663.  
  1664.                M - MonitorM - Monitor
  1665.  
  1666.                    This command switches to the SMTP Monitor screen.
  1667.  
  1668.  
  1669.                S - ScanS - Scan
  1670.  
  1671.                    This command  terminates the  time left  before the  MHS
  1672.                    Gateway module  will do another scan for mail that needs
  1673.                    to be converted between MHS and SMTP.
  1674.  
  1675.                    This  was   intended  for  situations  where  XGATE  was
  1676.                    configured with a high scan interval, and for one reason
  1677.                    or another  you're watching mail go through the gateway,
  1678.                    and you  know that  MHS just  delivered a message to the
  1679.                    gateway, and  you don't  want to  wait for the next scan
  1680.                    interval to cycle of its own accord.
  1681.  
  1682.  
  1683.                Q - QuitQ - Quit
  1684.  
  1685.                    This command exits XGATE.
  1686.  
  1687.                    If an  SMTP send or receive process is active, a warning
  1688.                    message will prompt for confirmation first.
  1689.  
  1690.  
  1691.           The SMTP MonitorThe SMTP Monitor
  1692.  
  1693.                Each screen line displayed in the SMTP Monitor begins with a
  1694.                number that  indicates which  active process  generated  the
  1695.                line.   When a  system-type error  or message  is  displayed
  1696.                (i.e. an  asynchronous error,  or the  SMTP task dispatcher,
  1697.                the  monitor's  foreground  handler,  etc...),  the  process
  1698.                number is  displayed as "$$:".  If a domain name server ICMP
  1699.  
  1700.  
  1701.  
  1702.                                          20
  1703.  
  1704.                                                 XGATE - MHS to SMTP Gateway
  1705.           -----------------------------------------------------------------
  1706.  
  1707.  
  1708.  
  1709.                message is received asynchronously, a "NS:" is displayed for
  1710.                the process number.
  1711.  
  1712.                The SMTP Monitor provides a number of commands that can help
  1713.                test connectivity with other TCP/IP hosts:
  1714.  
  1715.  
  1716.                D - DriverD - Driver
  1717.  
  1718.                    This command  activates a sub-menu of additional options
  1719.                    that display  various elements  of information regarding
  1720.                    the current operating condition and status of the Mach 2
  1721.                    TCP/IP protocol stack.
  1722.  
  1723.  
  1724.                F - FilterF - Filter
  1725.  
  1726.                    Normally the  output from  all active  SMTP processes is
  1727.                    displayed in chronological order, and will be intermixed
  1728.                    if more  than one  process  was  active  simultaneously.
  1729.                    This command allows the monitor screen to be filtered to
  1730.                    show only  the output of one particular process.  When a
  1731.                    filter is  active, a  "F:nn" is  displayed in the bottom
  1732.                    right corner  of the  screen.   Pressing the  <Esc>  key
  1733.                    cancels an active filter.
  1734.  
  1735.  
  1736.                N - NSLookupN - NSLookup
  1737.  
  1738.                    This command  initiates a domain name service lookup for
  1739.                    a particular host name.
  1740.  
  1741.                    This can  be useful for checking the proper operation of
  1742.                    the  name   servers  identified  in  XGATE.CFG,  or  for
  1743.                    determining whether a particular host name is valid, and
  1744.                    if so, what its IP address is, or MX records are.
  1745.  
  1746.  
  1747.                P - PingP - Ping
  1748.  
  1749.                    This command  initiates a  series of  ICMP echo requests
  1750.                    with  another   TCP/IP  host  (one  per  second  for  10
  1751.                    seconds).
  1752.  
  1753.                    This is  a good  way to  check if  XGATE's basic  TCP/IP
  1754.                    connectivity is  working properly, or to test if another
  1755.                    TCP/IP host is alive (or reachable through your router).
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.                                          21
  1767.  
  1768.                                                 XGATE - MHS to SMTP Gateway
  1769.           -----------------------------------------------------------------
  1770.  
  1771.  
  1772.  
  1773.                    Successfully receiving  Ping replies  from another  host
  1774.                    does not  necessarily mean  that its  SMTP capability is
  1775.                    working though.   Occasionally an SMTP server daemon may
  1776.                    stop accepting  connections even  though the  host  will
  1777.                    respond fine  to an  ICMP Ping.   The  only way to fully
  1778.                    test a remote host's current status of receiving mail is
  1779.                    by using the Telnet/25 command.
  1780.  
  1781.  
  1782.                R - RouteR - Route
  1783.  
  1784.                    This command  simply displays  what IP address and which
  1785.                    interface (useful  if more than one is present) that the
  1786.                    Mach 2 TCP/IP  protocol stack  will use  as the next hop
  1787.                    destination for a particular IP address.
  1788.  
  1789.                    This is basically a test of whether the ROUTE command in
  1790.                    XGATE.CFG has  been properly  configured with  the right
  1791.                    default router.
  1792.  
  1793.  
  1794.                S - SMTP StatsS - SMTP Stats
  1795.  
  1796.                    This command  displays running statistics accumulated in
  1797.                    the SMTP Server module.
  1798.  
  1799.  
  1800.                T - Telnet/25T - Telnet/25
  1801.  
  1802.                    This command  initiates a  Telnet session  with  another
  1803.                    host using port 25, the port which the SMTP service runs
  1804.                    on (port 23 is the normal Telnet port).
  1805.  
  1806.                    This is  a good  way to  check if another TCP/IP host is
  1807.                    ready to receive inbound SMTP mail, or if it is for some
  1808.                    reason refusing new connections.
  1809.  
  1810.                    When a  connection is established with this command, the
  1811.                    remote host  thinks you  are an originating SMTP server.
  1812.                    There are a number of text-based commands available that
  1813.                    might prove  useful, but  explaining them  all  here  is
  1814.                    beyond the  context of this documentation (refer to RFC-
  1815.                    821).   Suffice it  to say  that most  SMTP servers will
  1816.                    respond to  "HELP" and  "QUIT" commands.  Pressing <Esc>
  1817.                    will also quit a connection.
  1818.  
  1819.  
  1820.                Q - QuitQ - Quit
  1821.  
  1822.                    This command  quits the  SMTP Monitor and returns to the
  1823.                    MHS Gateway Activity screen.
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.                                          22
  1831.  
  1832.                                                 XGATE - MHS to SMTP Gateway
  1833.           -----------------------------------------------------------------
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.           Using XGATE as a Name ServerUsing XGATE as a Name Server
  1842.  
  1843.                This doesn't  have much to do with electronic mail, but what
  1844.                the heck....
  1845.  
  1846.                If you  have one  or more  name servers defined in XGATE.CFG
  1847.                (there isn't  much of  an advantage  to doing  this  if  you
  1848.                don't), you  can configure  local nodes  to query XGATE as a
  1849.                name server.
  1850.  
  1851.                When XGATE  receives a  name server  query,  it  immediately
  1852.                scans the  cached image  of the  HOSTS file (described next)
  1853.                and sends  a reply  if the name is found.  If the name isn't
  1854.                resolved by  the HOSTS  file, although  this is  unorthodox,
  1855.                XGATE immediately rebroadcasts the query to all name servers
  1856.                defined in  XGATE.CFG and  logs the  request  in  a  working
  1857.                table.   As soon  as one  of the  name  servers  provides  a
  1858.                positive reply,  XGATE  relays  the  response  back  to  the
  1859.                requesting station  and closes out the active request.  If a
  1860.                late reply  comes in  from one of the other name servers, it
  1861.                is discarded.   XGATE  will time  out active  requests if  a
  1862.                positive response isn't received within 20 seconds.
  1863.  
  1864.                XGATE provides  this service  asynchronously as a background
  1865.                task.  It is a very high performance solution to simplifying
  1866.                and  expediting  name  server  lookup's  for  client  nodes.
  1867.                Workstation configurations  can be  reduced to  sending just
  1868.                one query  to XGATE and still have the benefit of being able
  1869.                to resolve  names using  all the  name servers  XGATE  knows
  1870.                about, in a parallel fashion rather than one by one.
  1871.  
  1872.  
  1873.           The HOSTS FileThe HOSTS File
  1874.  
  1875.                Even though  the HOSTS  file will resolve names for outbound
  1876.                SMTP mail  (and will do it before name servers are used), it
  1877.                is intended  primarily as  a mechanism  to use  nicknames or
  1878.                shorthand names  for commonly  accessed hosts  when XGATE is
  1879.                queried as a name server.
  1880.  
  1881.                The  format   of  the   HOSTS  file   follows  the  somewhat
  1882.                conventional syntax;  use one  line for  each host beginning
  1883.                with its  IP address.   Multiple host names can be given for
  1884.                the same  IP address  by appending  them on  the same  line,
  1885.                separated with either spaces or tabs.  For example:
  1886.  
  1887.                    129.194.30.5    ns-nic
  1888.                    129.9.0.107     isi     a.isi.edu
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.                                          23
  1895.  
  1896.                                                 XGATE - MHS to SMTP Gateway
  1897.           -----------------------------------------------------------------
  1898.  
  1899.  
  1900.  
  1901.                The HOSTS  file must  reside in XGATE's home directory.  Its
  1902.                contents are  read at  startup and  held in memory, so don't
  1903.                get too carried away with adding a lot of names.  Changes to
  1904.                the HOSTS  file don't  take effect until the next time XGATE
  1905.                is restarted.
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.                                          24
  1959.  
  1960.                                                 XGATE - MHS to SMTP Gateway
  1961.           -----------------------------------------------------------------
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.           Pre-InstallationPre-Installation
  1970.  
  1971.                Before you can install and configure XGATE, you will need to
  1972.                know and/or  decide on  two important  names for  XGATE, and
  1973.                obtain a  dedicated IP  address for  XGATE's computer.   The
  1974.                names you will need are:
  1975.  
  1976.                    The MHS gateway name.
  1977.  
  1978.                    The TCP/IP host name.
  1979.  
  1980.  
  1981.           The MHS Gateway NameThe MHS Gateway Name
  1982.  
  1983.                The MHS  gateway name  is what  MHS users will use when they
  1984.                send mail through XGATE to an SMTP user.
  1985.  
  1986.                Chances are  good that you're the MHS administrator and that
  1987.                you can decide on the MHS gateway name without much trouble.
  1988.  
  1989.                Give some  consideration to  keeping it  short, simple,  and
  1990.                easy to  type.   If your MHS E-Mail application doesn't have
  1991.                an easy-to-use template feature, your MHS users might end up
  1992.                typing it a lot.
  1993.  
  1994.  
  1995.           The TCP/IP Host NameThe TCP/IP Host Name
  1996.  
  1997.                The TCP/IP host name is what remote SMTP users use when they
  1998.                send mail to an MHS user through XGATE.
  1999.  
  2000.                Determining what  XGATE's TCP/IP  host  name  will  be,  and
  2001.                getting it  properly configured  within your TCP/IP network,
  2002.                is not as easy as picking the MHS gateway name.  You may end
  2003.                up needing  to consult  with a  local TCP/IP guru before its
  2004.                over.
  2005.  
  2006.                Basically, along with determining what the host name is, you
  2007.                also need  a dedicated IP address assigned to the host name,
  2008.                and get  both registered in an authoritative name server for
  2009.                your domain.
  2010.  
  2011.                The details  of how  TCP/IP host names and IP addresses work
  2012.                and  interrelate   can  be   a  bit   overwhelming  for  the
  2013.                uninitiated.   If what we said makes sense and you know what
  2014.                XGATE's TCP/IP  host name  and IP address will be, or how to
  2015.                assign them  - then  you're all set.  If not, you might want
  2016.                to refer  to the  section later on called "TCP/IP Host Names
  2017.                and IP Addresses".
  2018.  
  2019.  
  2020.  
  2021.  
  2022.                                          25
  2023.  
  2024.                                                 XGATE - MHS to SMTP Gateway
  2025.           -----------------------------------------------------------------
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.           InstallationInstallation
  2034.  
  2035.                Making a  program that uses TCP/IP easy to install is almost
  2036.                impossible, but we try....
  2037.  
  2038.                Programs that  try to  do too  much of  the installation and
  2039.                configuration process in an automated fashion usually end up
  2040.                handing you  something you  know absolutely  nothing  about.
  2041.                Where are all the pieces to the jigsaw puzzle?  Just exactly
  2042.                what did  this thing  just do?  Where are all the files that
  2043.                it just  copied?   What files  contain  configuration  data?
  2044.                Etc....   XGATE's installation  does include  some automated
  2045.                help (in  the SETUP  program), but most of the pieces you'll
  2046.                put together yourself.
  2047.  
  2048.                Before starting the installation, you will need to know what
  2049.                XGATE's TCP/IP  host name,  IP Address, and MHS gateway name
  2050.                will be.
  2051.  
  2052.                The steps to installing XGATE are:
  2053.  
  2054.                    1. Copy XGATE's files.
  2055.  
  2056.                    2. Add a gateway name under MHS.
  2057.  
  2058.                    3. Edit XGATE's configuration file XGATE.CFG.
  2059.  
  2060.                    4. Use XGATE's  SETUP program to create the SMTP queues,
  2061.                       and to  assign queue  server rights  to the user name
  2062.                       that XGATE will use.
  2063.  
  2064.                    5. If using ODI drivers, modify the NET.CFG file.
  2065.  
  2066.  
  2067.  
  2068.           Copying XGATE's FilesCopying XGATE's Files
  2069.  
  2070.                There are two approaches you can take when deciding where to
  2071.                install XGATE.   You  can install it on the local hard drive
  2072.                of the  PC that  will run  it, or  you can  install it  on a
  2073.                network drive.
  2074.  
  2075.                The difference  being that if you install XGATE on a network
  2076.                drive, you'll have to script the file server login and drive
  2077.                mappings in  some type  of batch  file before  you run XGATE
  2078.                (similar to how you might be running MHS).
  2079.  
  2080.                If XGATE  is installed  on the  local hard drive, there's no
  2081.                technical reason  why the  computer needs  to be  logged  in
  2082.                before running  XGATE, so to make things easy XGATE provides
  2083.  
  2084.  
  2085.  
  2086.                                          26
  2087.  
  2088.                                                 XGATE - MHS to SMTP Gateway
  2089.           -----------------------------------------------------------------
  2090.  
  2091.  
  2092.  
  2093.                a means  to do  the user login for you if you give it a user
  2094.                name on the command line.
  2095.  
  2096.                If you install XGATE on a network drive, normal users do not
  2097.                need any disk privileges to XGATE's directory.
  2098.  
  2099.                After you've  figured out  where you want to install XGATE's
  2100.                files, just copy all of its files in there....
  2101.  
  2102.  
  2103.           Adding a gateway name under MHSAdding a gateway name under MHS
  2104.  
  2105.                When MHS  adds a  new gateway,  it  automatically  builds  a
  2106.                directory   structure    for   the    gateway   under    its
  2107.                mv\MHS\MAIL\GATES subdirectory.   XGATE  does  not  use  any
  2108.                INPOST or  OUTPOST executables  like other gateways, it only
  2109.                needs the  directory structure.   Other  than telling MHS to
  2110.                add the  gateway name  for XGATE, there's nothing more to do
  2111.                (i.e. there  are no  files that  need to  be copied into the
  2112.                mv\MHS\MAIL\GATES subdirectory  after MHS builds the gateway
  2113.                name).
  2114.  
  2115.                If you are using MHS 2.0 or NGM and want to setup XGATE as a
  2116.                native SMF-71  gateway, refer  to the section called "Native
  2117.                Mode SMF-71" for detailed instructions.
  2118.  
  2119.                If you  already know how to add a gateway under MHS, you can
  2120.                go ahead  and do it (enter the gateway version as either 64,
  2121.                70, or  71 depending  on how  high  your  MHS  version  is).
  2122.                There's nothing  more that  needs to  be done regarding MHS,
  2123.                and you can skip ahead to the next section on XGATE.CFG.
  2124.  
  2125.                Adding the  MHS gateway  that XGATE uses is done from within
  2126.                the MHS  program.   These instructions describe the steps as
  2127.                they appear when using the user interface of MHS 1.1 or 1.5.
  2128.                If Novell  ever releases the DOS version of MHS 2.0 (rumored
  2129.                to have  been finished  back in  mid-1992,  but  being  held
  2130.                captive for evil marketing reasons), the user interface will
  2131.                probably be different.
  2132.  
  2133.                Usually when  you start  MHS it  will proceed  a few moments
  2134.                later and run the "Connectivity Manager" (unless the host is
  2135.                not configured  as a routing host).  If you press the Escape
  2136.                key within  the  first  few  moments  after  launching  MHS,
  2137.                instead of  running the  Connectivity Manger  it'll come  up
  2138.                with a  prompt to  log in.  (If the Connectivity Manager has
  2139.                already started,  pressing the  Escape key  two times should
  2140.                then produce  the login  prompt,  unless  its  already  been
  2141.                answered previously within this session).
  2142.  
  2143.                After  you   have  logged   into  MHS   by  using   the  MHS
  2144.                administrator's password,  and have  found  its  Main  Menu,
  2145.                select:
  2146.  
  2147.  
  2148.  
  2149.  
  2150.                                          27
  2151.  
  2152.                                                 XGATE - MHS to SMTP Gateway
  2153.           -----------------------------------------------------------------
  2154.  
  2155.  
  2156.  
  2157.                    "Directory Manager"
  2158.  
  2159.                (Under MHS  1.5 its  called "Manage  Directories"  instead).
  2160.                From the Directory Manager menu, select:
  2161.  
  2162.                    "Routes to Workgroups, Hosts, and Gateways"
  2163.  
  2164.                Then select:
  2165.  
  2166.                    "Add entry"
  2167.  
  2168.                And then pick:
  2169.  
  2170.                    "Define a gateway"
  2171.  
  2172.                MHS will  then display  an  entry  form  for  adding  a  new
  2173.                gateway.   What you  enter for  the  "Host  name:"  is  very
  2174.                significant.   You might  want to  keep it short and easy to
  2175.                type.   This is  the name MHS users will type when they send
  2176.                mail through  XGATE (you  could of course define another hub
  2177.                which routes via this name if you want to alias it down to a
  2178.                shorter name).   Whatever  you enter  for the "Host name:" -
  2179.                remember it  and write it down.  You will also need to enter
  2180.                it into XGATE's configuration file.
  2181.  
  2182.                What  you   enter   for   the   "Description:"   is   purely
  2183.                discretionary, XGATE doesn't use it.
  2184.  
  2185.                Under "Gateway  Version:" you can enter either 64, 70, or 71
  2186.                (depending on which level your MHS can support).  This tells
  2187.                MHS what level of the SMF language that XGATE understands.
  2188.  
  2189.                Under "Gateway  Commands:", don't  enter anything.  A lot of
  2190.                MHS gateway  programs are  run directly within MHS and these
  2191.                are the commands that would be passed to the gateway program
  2192.                when executed.   Since  XGATE runs on a separate PC, gateway
  2193.                commands should be left blank.
  2194.  
  2195.                So all  we've just  done is  told MHS to build a new gateway
  2196.                name in  its host  table and to create the corresponding MHS
  2197.                directory structure.   Nothing  more.   The first time XGATE
  2198.                runs it will automatically build some additional directories
  2199.                under its  gateway subdirectory  in MHS.  But you don't need
  2200.                to worry about doing it yourself.
  2201.  
  2202.  
  2203.           Editing XGATE.CFGEditing XGATE.CFG
  2204.  
  2205.                The sample  XGATE.CFG configuration file included with XGATE
  2206.                is fully  commented and  you can  probably  configure  XGATE
  2207.                properly just  by using  the comments.   If  you  need  more
  2208.                details on  any of  the  options,  refer  to  the  reference
  2209.                section later  on that  gives a complete description of each
  2210.                option or variable.
  2211.  
  2212.  
  2213.  
  2214.                                          28
  2215.  
  2216.                                                 XGATE - MHS to SMTP Gateway
  2217.           -----------------------------------------------------------------
  2218.  
  2219.  
  2220.  
  2221.  
  2222.                XGATE.CFG is  an ASCII text file.  You can go ahead and edit
  2223.                it with any standard text editor.
  2224.  
  2225.  
  2226.           Using SETUPUsing SETUP
  2227.  
  2228.                After you've  created the  gateway name under MHS and edited
  2229.                XGATE's configuration  file (XGATE.CFG), you're ready to use
  2230.                XGATE's SETUP  program to  create the SMTP queues and assign
  2231.                queue server  rights to  the user  name that  XGATE will run
  2232.                under.
  2233.  
  2234.                When using  SETUP, you  must be  logged in  as a  supervisor
  2235.                equivalent (it'll warn you if you aren't).
  2236.  
  2237.                The normal 1st-time steps within SETUP are:
  2238.  
  2239.                    1. Create SMTP Inbound and Outbound Queues
  2240.  
  2241.                    2. Assign Queue Server Rights to a User
  2242.  
  2243.  
  2244.                Create SMTP Inbound and Outbound QueuesCreate SMTP Inbound and Outbound Queues
  2245.  
  2246.                    This option  creates the SMTP_IN and SMTP_OUT job queues
  2247.                    that XGATE uses for inbound and outbound SMTP mail.
  2248.  
  2249.                    If you  are installing  XGATE for  the first  time, this
  2250.                    option also starts the 45 day evaluation timer.
  2251.  
  2252.                    After using  this option, there is normally no reason to
  2253.                    ever repeat  it (unless you have deleted the SMTP queues
  2254.                    for some reason).
  2255.  
  2256.  
  2257.                Remove SMTP Inbound and Outbound QueuesRemove SMTP Inbound and Outbound Queues
  2258.  
  2259.                    This option completely removes the SMTP job queues.  Use
  2260.                    this option  with caution!   If there is any undelivered
  2261.                    mail in either queue it will be destroyed.
  2262.  
  2263.                    The primary  reason for  providing this option is in the
  2264.                    event that  you've granted  more  than  one  user  Queue
  2265.                    Server rights  and wish  to retract  them (in which case
  2266.                    the only  mechanism available  is to  remove the queues,
  2267.                    re-create them,  and then  assign  Queue  Server  rights
  2268.                    again).
  2269.  
  2270.                    Before using  this option  make sure  there is  no  mail
  2271.                    queued (usually  outbound) that  you  would  care  about
  2272.                    loosing.
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.                                          29
  2279.  
  2280.                                                 XGATE - MHS to SMTP Gateway
  2281.           -----------------------------------------------------------------
  2282.  
  2283.  
  2284.  
  2285.                Assign Queue Server Rights to a UserAssign Queue Server Rights to a User
  2286.  
  2287.                    This option  assigns Queue  Server privileges to a user.
  2288.                    Typically you  will only  need to  assign  queue  server
  2289.                    rights to  just the  one user  name that  XGATE will  be
  2290.                    logged in  under.   If you  wish to run XGATE under your
  2291.                    own  login  name  for  installation  or  troubleshooting
  2292.                    purposes, you  would also  want to  assign queue  server
  2293.                    rights to your own name.
  2294.  
  2295.                    Note:  NetWare does  not consider a user with supervisor
  2296.                    equivalence as blanket authorization to serve queues.  A
  2297.                    user with  supervisor equivalence  must also be assigned
  2298.                    queue rights the same as any other user.
  2299.  
  2300.                    To  ensure   proper  privileges  in  the  MHS  directory
  2301.                    structure, the user name picked with this option is also
  2302.                    granted  [SRWCEMF]   trusteeship  to   the   mv/MHS\MAIL
  2303.                    directory structure.
  2304.  
  2305.  
  2306.                Serialize and Register XGATESerialize and Register XGATE
  2307.  
  2308.                    After you  have purchased a license to continue your use
  2309.                    of XGATE, this option permanently serializes (registers)
  2310.                    XGATE for your installation.
  2311.  
  2312.                    When unregistered  (during the  evaluation period) XGATE
  2313.                    runs as  an unlimited  host license.   If  you  did  not
  2314.                    purchase an  unlimited host  license, you'll now have to
  2315.                    create a  file (with  any text editor) called HUBLIC.DAT
  2316.                    in XGATE's home directory that describes which MHS hosts
  2317.                    are licensed  to use XGATE.  On separate lines, list the
  2318.                    name of  each MHS  host that  is authorized  to send and
  2319.                    receive mail through XGATE.  Even if you're just running
  2320.                    a single  MHS host license, the first line of HUBLIC.DAT
  2321.                    must contain your MHS host name.
  2322.  
  2323.                    If you  purchased an unlimited host license, there is no
  2324.                    need to create or worry about the HUBLIC.DAT file.
  2325.  
  2326.  
  2327.           Modifying NET.CFGModifying NET.CFG
  2328.  
  2329.                The Mach  2 TCP/IP  protocol stack built into XGATE directly
  2330.                supports either  a Novell  ODI driver,  or a Clarkson Packet
  2331.                Driver (or both if the situation warrants).
  2332.  
  2333.                If you  are using a Clarkson Packet Driver, the installation
  2334.                is now  complete.  If you are using a Novell ODI driver, you
  2335.                must make  a small  modification to the NET.CFG file to bind
  2336.                an "Ethernet_II"  frame type  to the  board  (network  card)
  2337.                being used.  (Ethernet_II is the frame type TCP/IP uses.)
  2338.  
  2339.  
  2340.  
  2341.  
  2342.                                          30
  2343.  
  2344.                                                 XGATE - MHS to SMTP Gateway
  2345.           -----------------------------------------------------------------
  2346.  
  2347.  
  2348.  
  2349.                For example:
  2350.  
  2351.                    Link Driver NE2000
  2352.                          PORT 300
  2353.                          INT 5
  2354.                          MEM D000
  2355.                          FRAME Ethernet_802.3
  2356.                          FRAME Ethernet_II      FRAME Ethernet_II
  2357.  
  2358.                After adding  the Ethernet_II  frame type,  you'll  need  to
  2359.                reboot the computer before trying to run XGATE.
  2360.  
  2361.  
  2362.           Installation CompleteInstallation Complete
  2363.  
  2364.                After you  have used  SETUP to  create the  SMTP queues, and
  2365.                have granted  queue server rights to the applicable user(s),
  2366.                you are now ready to try running XGATE.
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388.  
  2389.  
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.                                          31
  2407.  
  2408.                                                 XGATE - MHS to SMTP Gateway
  2409.           -----------------------------------------------------------------
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.           Initial Testing and TroubleshootingInitial Testing and Troubleshooting
  2418.  
  2419.                The first  thing you usually do when setting up a new TCP/IP
  2420.                host is to make sure it can "Ping" another TCP/IP host.  The
  2421.                SMTP Monitor has a built-in Ping capability (pressing "S" or
  2422.                <Tab> from  the MHS  Gateway Activity  screen will switch to
  2423.                the SMTP Monitor screen).
  2424.  
  2425.                For starters, try pinging another local TCP/IP host by using
  2426.                its IP  address (not its host name).  If that fails to work,
  2427.                check the netmask used with the bind statement in XGATE.CFG,
  2428.                and ensure  its set  to the right value for your subnet.  If
  2429.                that seems  fine, go  to the machine you were trying to ping
  2430.                and see  if it  can ping  another host  (i.e. is  it working
  2431.                ok?).
  2432.  
  2433.                If pinging another local TCP/IP host works, the network card
  2434.                is working OK, ARP is working OK, and the subnet mask is set
  2435.                correctly.  The next thing to try is pinging a remote TCP/IP
  2436.                host using  its IP address to see if network traffic through
  2437.                your router  is working.   If  this doesn't  work, check the
  2438.                ROUTE statement  in XGATE.CFG  and ensure that it contains a
  2439.                an entry  with a  valid  IP  address  for  the  router  that
  2440.                provides remote  access to  other networks.  If the router's
  2441.                IP address  is in  question, try  pinging the  router itself
  2442.                with the same IP address.
  2443.  
  2444.                The last  thing to try is using Ping with the host name of a
  2445.                remote host  instead of  its IP  address.  This ensures that
  2446.                the name  server entries  in XGATE.CFG  are  set  right  and
  2447.                responding.   If there's a problem with name server lookups,
  2448.                try using  the <N>SLookup option with a well known host name
  2449.                and watch  what  happens.    The  DNS  interactions  from  a
  2450.                NSLookup are  quite a bit more verbose than with a <P>ing or
  2451.                <T>elnet/25 command (unless you ran XGATE with a -N switch).
  2452.  
  2453.                If you  experience a  problem with  the  Ping  or  Telnet/25
  2454.                commands and  are wondering whether XGATE.CFG was configured
  2455.                correctly -  the only  options in  XGATE.CFG that could have
  2456.                any affect are the bind and route statements.
  2457.  
  2458.                If all of this works OK, try sending a message through XGATE
  2459.                and watch  how the  message is handled on the SMTP Monitor's
  2460.                screen.
  2461.  
  2462.                Hopefully this is the beginning of a beautiful friendship!
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.                                          32
  2471.  
  2472.                                                 XGATE - MHS to SMTP Gateway
  2473.           -----------------------------------------------------------------
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.           TCP/IP Host Names and IP AddressesTCP/IP Host Names and IP Addresses
  2482.  
  2483.                There are  basically two ways to set up XGATE so that remote
  2484.                SMTP hosts can send it mail.  They will be listed shortly in
  2485.                order of  desired preference.   In  all cases  though, XGATE
  2486.                must be assigned a TCP/IP host name and an IP address.
  2487.  
  2488.                An IP  address is  a number  comprised of 4 digits separated
  2489.                with dots  (sometimes called "dotted notation"), which might
  2490.                look something like "131.46.23.5".
  2491.  
  2492.                If XGATE's  IP address  was 131.46.24.5,  some  remote  SMTP
  2493.                hosts will  allow users  to send a message to an MHS user on
  2494.                XGATE just  by using the IP address (i.e. "Joe@131.46.23.5",
  2495.                or "Joe@[131.46.23.5]").
  2496.  
  2497.                But sending  mail in  this fashion is unconventional and can
  2498.                be difficult  for the remote SMTP user to remember.  It also
  2499.                makes it  hard to change XGATE's IP address because doing so
  2500.                would invalidate the E-Mail addresses of all your MHS users.
  2501.                So the  "normal" is  to assign a host name to the IP address
  2502.                and use the host name instead.
  2503.  
  2504.                We will  try to  go slow  and explain things thoroughly, but
  2505.                you may find it easier to take this section of the manual to
  2506.                your local  TCP/IP expert,  who should  be able  to help you
  2507.                with what steps you need to take, and who to talk to next.
  2508.  
  2509.                Note:  Normally you can't just pick a TCP/IP host name or an
  2510.                IP address  without  first  checking  with  the  appropriate
  2511.                office or person that administers TCP/IP names and addresses
  2512.                for your network!
  2513.  
  2514.  
  2515.           Configuring DNSConfiguring DNS
  2516.  
  2517.                DNS means  Domain Name  Service.  It is a protocol that runs
  2518.                on top  of UDP  (and in turn on top of IP) that provides the
  2519.                most popular  mechanism for  translating a host name into an
  2520.                IP address (using a host table is the other).
  2521.  
  2522.                The simple  act of  selecting a  TCP/IP host  name for XGATE
  2523.                won't in  itself do  much  until  you  have  the  host  name
  2524.                registered in  some type  of name  server.   An name  server
  2525.                answers DNS  queries in a hierarchical fashion, which allows
  2526.                remote hosts to resolve where they should send messages that
  2527.                are addressed to MHS users at XGATE's TCP/IP host name.
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.                                          33
  2535.  
  2536.                                                 XGATE - MHS to SMTP Gateway
  2537.           -----------------------------------------------------------------
  2538.  
  2539.  
  2540.  
  2541.                If all  you'll be doing is exchanging mail locally, a simple
  2542.                entry in a local name server should suffice to get SMTP mail
  2543.                working with XGATE.
  2544.  
  2545.                If you'll  be receiving mail from various locations all over
  2546.                the Internet,  you'll probably  need to  get XGATE's  TCP/IP
  2547.                host name  registered with the authoritative name server for
  2548.                your domain.
  2549.  
  2550.                For   example,    if   XGATE's    TCP/IP   host   name   was
  2551.                "xgate.acme.com", and  XGATE's IP  address was  125.26.10.1,
  2552.                the entry  you would want entered in your authoritative name
  2553.                server's hosts database would look similar to this:
  2554.  
  2555.                    Name            ________________ Class  _______ Type  ______ Address       ______________
  2556.                    xgate.acme.com   IN      A      125.26.10.1
  2557.  
  2558.  
  2559.           Defining MX RecordsDefining MX Records
  2560.  
  2561.                MX records  (which means Mail Exchange) are entries that can
  2562.                also be  defined in  your authoritative name server that are
  2563.                used by  remote  SMTP  hosts  to  determine  if  there's  an
  2564.                alternate host  that will  accept mail  for XGATE  (and then
  2565.                forward it).
  2566.  
  2567.                If the  physical link  to XGATE  from the outside world is a
  2568.                little "shaky"  or non-existent, but a nearby "UNIX box" has
  2569.                a good  connection to  the outside world, you can define the
  2570.                "UNIX Box" as an MX record for XGATE with your authoritative
  2571.                name server.
  2572.  
  2573.                More than  one MX  record can  be used  (and often  is),  to
  2574.                improve the  likelihood that  in one way or another a remote
  2575.                SMTP host will be able to forward mail destined for XGATE to
  2576.                another host.
  2577.  
  2578.                For example,  if the  host name of the nearby "UNIX box" was
  2579.                called "bigbro.acme.com",  the entries needed in your domain
  2580.                name server's hosts database would look similar to this:
  2581.  
  2582.                    Name            ________________ Class  _______ Type  ______ Pri  _____ Address      _____________
  2583.                    xgate.acme.com   IN      A            125.26.10.1
  2584.                                     IN      MX     0     xgate.acme.com.
  2585.                                     IN      MX     10    bigbro.acme.com.
  2586.  
  2587.                The secret  here is  that MX  entries are  used in  order of
  2588.                priority, from lowest to highest.  So when remote SMTP hosts
  2589.                have mail  for XGATE  and then query for MX records, they'll
  2590.                get two  results.  The lowest is the direct address to XGATE
  2591.                which may fail to connect.  If so, they'll then use the next
  2592.                highest priority  which is  the "UNIX  box" and give it your
  2593.                mail.   The "UNIX  box" will then try to forward the message
  2594.                to XGATE  and would  succeed using  the first  one with  the
  2595.  
  2596.  
  2597.  
  2598.                                          34
  2599.  
  2600.                                                 XGATE - MHS to SMTP Gateway
  2601.           -----------------------------------------------------------------
  2602.  
  2603.  
  2604.  
  2605.                lowest priority.   If the order of priorities were reversed,
  2606.                the "UNIX  box" would  try talking  with itself first, which
  2607.                sometimes causes  an internal  error and cancellation of the
  2608.                delivery.
  2609.  
  2610.  
  2611.           Hiding XGATE Behind Another UNIX HostHiding XGATE Behind Another UNIX Host
  2612.  
  2613.                The most  desirable way  to use  XGATE is  by using  DNS  to
  2614.                resolve XGATE's TCP/IP host name when remote SMTP hosts have
  2615.                mail to send to it.
  2616.  
  2617.                If this  isn't possible because you can't get XGATE's TCP/IP
  2618.                host name  registered with  an  authoritative  name  server,
  2619.                there is  still a way to work around the problem if a nearby
  2620.                "UNIX box"  can be  configured to forward mail to XGATE when
  2621.                the address  contains a  certain flag after the user's name.
  2622.                But its not easy....
  2623.  
  2624.                There's no  reason to bother reading this section, or trying
  2625.                to understand  it, if  you're going to register XGATE's host
  2626.                name with a name server!
  2627.  
  2628.                Normally XGATE has its own unique TCP/IP host name, and mail
  2629.                addressed to "Joe@xgate.acme.com" is clearly intended for an
  2630.                MHS user called Joe at the default MHS workgroup.
  2631.  
  2632.                But when XGATE shares the same TCP/IP host name with another
  2633.                "UNIX box",  something more  than just "Joe" has to be given
  2634.                for the  user name  so that  the "UNIX  box" will  know  the
  2635.                message gets forwarded to XGATE.
  2636.  
  2637.                The technique  normally works  like this.  Some sort of flag
  2638.                text is  used after the user name to indicate the message is
  2639.                to be forwarded to XGATE instead of going to a local user on
  2640.                the "UNIX  box".   For example, if the flag text was ".mhs",
  2641.                Joe would be addressed as:
  2642.  
  2643.                     joe.mhs@bigbro.acme.com"
  2644.  
  2645.                So what  the "UNIX  box" has to do when it processes inbound
  2646.                mail is  look for  user names  that end with ".mhs".  If one
  2647.                comes through, it would strip off the ".mhs" and forward the
  2648.                message to "Joe@xgate.acme.com".
  2649.  
  2650.                In this  situation,  the  only  host  that  knows  the  name
  2651.                "xgate.acme.com" is  the "UNIX  box", you configure XGATE to
  2652.                use the  same TCP/IP  host name  as the "UNIX box" (which is
  2653.                controlled by the SMTP_GATEWAY_NAME variable in XGATE.CFG).
  2654.  
  2655.                If its  hard to  get a host name mapped to an IP address for
  2656.                XGATE in  the "UNIX  box", forwarding the message to XGATE's
  2657.                IP address should work fine.
  2658.  
  2659.  
  2660.  
  2661.  
  2662.                                          35
  2663.  
  2664.                                                 XGATE - MHS to SMTP Gateway
  2665.           -----------------------------------------------------------------
  2666.  
  2667.  
  2668.  
  2669.                So how  do you  get XGATE  to build  reply addresses  with a
  2670.                ".mhs" after  the user's name?  Use the following definition
  2671.                in XGATE.CFG:
  2672.  
  2673.                    SMTP_USER_SUFFIX = .mhs
  2674.  
  2675.                How you  get a  "UNIX box" to do this type of black magic is
  2676.                beyond the  scope of  this documentation and varies with the
  2677.                type of  SMTP daemon in use.  It does take a darn sharp UNIX
  2678.                administrator willing to take on a small challenge.
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713.  
  2714.  
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.                                          36
  2727.  
  2728.                                                 XGATE - MHS to SMTP Gateway
  2729.           -----------------------------------------------------------------
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.           XGATE.CFGXGATE.CFG
  2738.  
  2739.                XGATE.CFG is  an ASCII text file that can be edited with any
  2740.                standard text  editor.  It describes and controls almost all
  2741.                of XGATE's configuration.
  2742.  
  2743.                The formatting  syntax of  XGATE.CFG is not very particular.
  2744.                Each option begins with a variable name followed by a value.
  2745.                Between the variable name and the value can be any number of
  2746.                space or  tab characters  (at least  one must  be  present),
  2747.                along with an optional equals sign.
  2748.  
  2749.                When a  semicolon is  encountered, it,  and the  rest of the
  2750.                line  (and  any  preceding  white  space)  is  considered  a
  2751.                comment.
  2752.  
  2753.  
  2754.           XGATE.CFG Alphabetical IndexXGATE.CFG Alphabetical Index
  2755.  
  2756.                   append_ascii_attach...............................41
  2757.                   bind..............................................56
  2758.                   black_and_white...................................50
  2759.                   connect_timeout...................................53
  2760.                   conv_body_to_attach...............................42
  2761.                   conv_time_to_local................................45
  2762.                   decode_header.....................................49
  2763.                   domain_timeout....................................55
  2764.                   error_log.........................................51
  2765.                   ignore_lwsp_after_fold............................42
  2766.                   inbound_log.......................................50
  2767.                   include_header....................................40
  2768.                   include_smtp_fields...............................40
  2769.                   ipforward.........................................58
  2770.                   max_xmit_processes................................52
  2771.                   mhs_admin_errors..................................40
  2772.                   mhs_administrator.................................39
  2773.                   mhs_default_host..................................39
  2774.                   mhs_gateway_name..................................39
  2775.                   mhs_path..........................................39
  2776.                   mhs_scrollback_lines..............................51
  2777.                   mute..............................................50
  2778.                   name_mapping_mode.................................47
  2779.                   name_server.......................................54
  2780.                   native_smf71......................................44
  2781.                   outbound_log......................................50
  2782.                   ping..............................................55
  2783.                   relay_host........................................53
  2784.                   relay_mode........................................52
  2785.                   reschedule_minutes................................53
  2786.                   resolve_minutes...................................54
  2787.  
  2788.  
  2789.  
  2790.                                          37
  2791.  
  2792.                                                 XGATE - MHS to SMTP Gateway
  2793.           -----------------------------------------------------------------
  2794.  
  2795.  
  2796.  
  2797.                   route.............................................57
  2798.                   scan_frequency....................................50
  2799.                   scrap_mhs_attach..................................49
  2800.                   screen_save.......................................50
  2801.                   smtp_default_host.................................44
  2802.                   smtp_exclude_mhs_hub..............................45
  2803.                   smtp_gateway_name.................................44
  2804.                   smtp_include_mhs_app..............................46
  2805.                   smtp_receipts.....................................47
  2806.                   smtp_scrollback_lines.............................51
  2807.                   smtp_timezone.....................................44
  2808.                   smtp_user_suffix..................................48
  2809.                   static_reply_address..............................43
  2810.                   undeliverable_hours...............................53
  2811.                   use_mhs_ret_rcpt..................................47
  2812.                   use_mhs_total_fields..............................41
  2813.                   use_smtp_repto_as_from............................41
  2814.                   uuencode..........................................48
  2815.                   watch_dog.........................................51
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.                                          38
  2855.  
  2856.                                                 XGATE - MHS to SMTP Gateway
  2857.           -----------------------------------------------------------------
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.           XGATE.CFG ReferenceXGATE.CFG Reference
  2865.  
  2866.                The variables  and options  are listed in the order in which
  2867.                they appear in XGATE.CFG.
  2868.  
  2869.  
  2870.                mhs_pathmhs_path
  2871.  
  2872.                    This variable  tells XGATE  what directory contains MHS.
  2873.                    This path is normally entered using a volume name, not a
  2874.                    DOS drive  letter.  For instance, if MHS is installed in
  2875.                    the root  directory of  SYS: (i.e.  the path  to the MHS
  2876.                    Mail  directory   is  SYS:MHS\MAIL),   you  would  enter
  2877.                    "mhs_path=SYS:" (without the quotes).
  2878.  
  2879.  
  2880.                mhs_gateway_namemhs_gateway_name
  2881.  
  2882.                    This variable tells XGATE what its gateway name is under
  2883.                    MHS.   XGATE uses this value to determine where MHS will
  2884.                    put outbound  messages, and  also uses  it to  build the
  2885.                    return address  for  outgoing  SMTP  mail.    It  should
  2886.                    contain the  same name  that you used when you added the
  2887.                    gateway name under MHS.
  2888.  
  2889.  
  2890.                mhs_default_hostmhs_default_host
  2891.  
  2892.                    This variable controls what happens to inbound SMTP mail
  2893.                    that does not specify the destination MHS hub.
  2894.  
  2895.                    If this  variable is  omitted or left blank, XGATE sends
  2896.                    the message  to the  hub name defined as the "workgroup"
  2897.                    under MHS.   If  a value is given for this variable, the
  2898.                    message is sent to the host name specified.
  2899.  
  2900.                    This variable  is not  normally given  a value since the
  2901.                    workgroup name of the local MHS hub is normally where an
  2902.                    inbound SMTP  message should  be sent  if  the  MHS  hub
  2903.                    wasn't specified.  But its provided as an option in case
  2904.                    a different host or workgroup name should be used.
  2905.  
  2906.  
  2907.                mhs_administratormhs_administrator
  2908.  
  2909.                    This variable  overrides XGATE's automatic determination
  2910.                    of the MHS administrator.  Normally XGATE will determine
  2911.                    who  the   MHS  administrator  is  by  reading  the  MHS
  2912.                    NETDIR.TAB file.   It  can sometimes  be  convenient  to
  2913.                    override where  XGATE's error messages go if a different
  2914.                    person administers XGATE.
  2915.  
  2916.  
  2917.  
  2918.                                          39
  2919.  
  2920.                                                 XGATE - MHS to SMTP Gateway
  2921.           -----------------------------------------------------------------
  2922.  
  2923.  
  2924.  
  2925.  
  2926.                    The value  entered should  be  a  fully  qualified  name
  2927.                    expressed     in     native     MHS     syntax     (i.e.
  2928.                    mhs_administrator=joe@mhs1).
  2929.  
  2930.  
  2931.                mhs_admin_errorsmhs_admin_errors
  2932.  
  2933.                    This option  tells XGATE  whether or not to send the MHS
  2934.                    administrator copies  of various errors (such as routing
  2935.                    or non-delivery) as a message.  The possible answers are
  2936.                    either Yes or No.
  2937.  
  2938.  
  2939.                include_headerinclude_header
  2940.  
  2941.                    This variable controls whether XGATE includes the header
  2942.                    of received SMTP messages either at the start of the MHS
  2943.                    body, or encapsulated in the MHS header.
  2944.  
  2945.                    It has the following possible values:
  2946.  
  2947.                       B....The SMTP  header is  written at the start of the
  2948.                            MHS body.
  2949.                       Y....Same as "B".
  2950.                       H....The SMTP  header  is  encapsulated  in  the  MHS
  2951.                            header.
  2952.                       N....The SMTP header is not retained.
  2953.  
  2954.                    Using the  "H" option  is useful only if your MHS E-Mail
  2955.                    application provides  a function  that allows the header
  2956.                    of inbound mail to be viewed as it was received.
  2957.  
  2958.  
  2959.                include_smtp_fieldsinclude_smtp_fields
  2960.  
  2961.                    This variable  allows some  of the  fields in a received
  2962.                    SMTP message  to be  written into  the beginning  of the
  2963.                    body text  in a MHS message.  Sometimes these fields can
  2964.                    provide valuable information to the MHS user which might
  2965.                    otherwise be  hidden depending  on the particular MHS E-
  2966.                    Mail software  in use.   For  instance, if a message had
  2967.                    multiple recipients  (specified by  the SMTP  To: header
  2968.                    field), but  the MHS  E-Mail software  displays the  MHS
  2969.                    "Send-To:" field  instead, the  MHS recipient  won't see
  2970.                    the complete list of recipients.
  2971.  
  2972.                    This variable has the following format:
  2973.  
  2974.                       include_smtp_fields=[T][F][C][R]
  2975.  
  2976.                    (The  brackets  are  meant  to  indicate  each  flag  is
  2977.                    optional.  They are not part of the syntax.)
  2978.  
  2979.  
  2980.  
  2981.  
  2982.                                          40
  2983.  
  2984.                                                 XGATE - MHS to SMTP Gateway
  2985.           -----------------------------------------------------------------
  2986.  
  2987.  
  2988.  
  2989.                    Each flag  causes the following SMTP header fields to be
  2990.                    included in the MHS body:
  2991.  
  2992.                       T....To:
  2993.                       F....From:
  2994.                       C....Cc:
  2995.                       R....Reply-To:
  2996.  
  2997.  
  2998.                use_mhs_total_fieldsuse_mhs_total_fields
  2999.  
  3000.                    This option  enables an  effect similar  to that  of the
  3001.                    "include_smtp_fields" option,  except that  it  works  a
  3002.                    little  more   cleanly  provided   your   MHS   software
  3003.                    recognizes the SMF-70 "Total-to:" and "Total-Copies-to:"
  3004.                    header fields.   If this option is enabled, XGATE builds
  3005.                    the "Total-to:" and "Total-Copies-to:" MHS header fields
  3006.                    with a  complete list  of their  respective  recipients.
  3007.                    This keeps  the information  out of  the body  text  and
  3008.                    possibly allows  replies to  go to  all recipients,  but
  3009.                    this  only   works  if   your  MHS   E-Mail  application
  3010.                    recognizes and  reacts to these fields.  Possible values
  3011.                    are either Yes or No.
  3012.  
  3013.                    You probably  wouldn't want  to enable  this option, and
  3014.                    "include_smtp_fields" at the same time.
  3015.  
  3016.  
  3017.                use_smtp_repto_as_fromuse_smtp_repto_as_from
  3018.  
  3019.                    When processing  an inbound  SMTP message,  this  option
  3020.                    tells XGATE  to use the SMTP Reply-To: field for the MHS
  3021.                    message's From: field.
  3022.  
  3023.                    Prior to MHS 1.5, the SMF language did not provide for a
  3024.                    Reply-To: field, which allows message replies to go to a
  3025.                    different address than the message sender.
  3026.  
  3027.                    If your  MHS E-Mail  application does  not recognize the
  3028.                    MHS Reply-To:  field, turning  this option on is one way
  3029.                    to fix the problem.
  3030.  
  3031.                    This option  is not  normally enabled if your MHS E-Mail
  3032.                    application was written for SMF-70 (MHS 1.5) or greater.
  3033.  
  3034.                    Possible values are either Yes or No.
  3035.  
  3036.  
  3037.                append_ascii_attachappend_ascii_attach
  3038.  
  3039.                    This  variable  tells  XGATE  whether  to  automatically
  3040.                    append MHS file attachments onto the end of the outbound
  3041.                    SMTP message  body, when  the attachment  only  contains
  3042.                    ASCII text characters.
  3043.  
  3044.  
  3045.  
  3046.                                          41
  3047.  
  3048.                                                 XGATE - MHS to SMTP Gateway
  3049.           -----------------------------------------------------------------
  3050.  
  3051.  
  3052.  
  3053.  
  3054.                    It has the following format:
  3055.  
  3056.                       append_ascii_attach=nn
  3057.  
  3058.                    Where "nn"  is the  maximum size of an attached file (in
  3059.                    K) that will be considered for appending.
  3060.  
  3061.                    For  more   information,  refer   to  "Appending   ASCII
  3062.                    Attachments" described under the Features section.
  3063.  
  3064.  
  3065.                conv_body_to_attachconv_body_to_attach
  3066.  
  3067.                    This  variable   is  used   to  protect  an  MHS  E-Mail
  3068.                    application from receiving a SMTP message with body text
  3069.                    larger than it can handle.
  3070.  
  3071.                    For instance,  Beyond Mail  for Windows  has a body text
  3072.                    limitation of  32,000 bytes.   If  an SMTP  user sends a
  3073.                    message to  the Beyond  user that has a body larger than
  3074.                    32K, Beyond  Mail will  callously truncate it at the 32K
  3075.                    boundary.
  3076.  
  3077.                    Setting this  variable to  a non-zero value causes XGATE
  3078.                    to check the size of the SMTP body, and move the body to
  3079.                    a file  attachment if  it exceeds  the value.  (When the
  3080.                    body is  moved, a  small notice is written into the body
  3081.                    text indicating this condition occurred.)
  3082.  
  3083.                    The value  given is  in K (1000, not 1024).  If its zero
  3084.                    or undefined, this feature is not enabled.
  3085.  
  3086.  
  3087.                ignore_lwsp_after_foldignore_lwsp_after_fold
  3088.  
  3089.                    This option  controls  whether  XGATE  considers  linear
  3090.                    white space  characters (LWSP)  after  a  folded  header
  3091.                    field in an MHS message as significant.
  3092.  
  3093.                    This option  is rather  technical and  is  not  normally
  3094.                    enabled.   The WPO  MHS gateway  is the only application
  3095.                    known so far that needs it enabled.
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.                                          42
  3111.  
  3112.                                                 XGATE - MHS to SMTP Gateway
  3113.           -----------------------------------------------------------------
  3114.  
  3115.  
  3116.  
  3117.                    According to  the SMF-70 and 71 Programmer's References,
  3118.                    folded lines  are only permissible where LWSP characters
  3119.                    are allowed  (i.e. not in the middle of an SMTP address,
  3120.                    unless there  actually is  a space in the SMTP address).
  3121.                    Normally any  application that  processes an MHS message
  3122.                    and encounters  a folded  line is  to assume  that  LWSP
  3123.                    characters starting  the continuation line are logically
  3124.                    equivalent to  a space  character if  they occur  in the
  3125.                    middle of  an active  address.   Enabling  this  option,
  3126.                    disables this  logic and any LWSP characters beginning a
  3127.                    folded line are discarded.
  3128.  
  3129.                    Normally this  option is  disabled.  If you occasionally
  3130.                    see an outbound MHS message produce a space character in
  3131.                    the middle  of the resulting SMTP message's To: or From:
  3132.                    fields that wasn't entered that way inadvertently by the
  3133.                    sender, you may need to turn this option on.
  3134.  
  3135.                    Possible values are either Yes or No.
  3136.  
  3137.  
  3138.                static_reply_addressstatic_reply_address
  3139.  
  3140.                    This option controls the format of reply addresses built
  3141.                    for MHS users from inbound SMTP mail.
  3142.  
  3143.                    With this option off, the MHS reply address for  inbound
  3144.                    SMTP mail  is built  using a  combination of  the  first
  3145.                    eight characters  of the  SMTP  user's  name  @  XGATE's
  3146.                    gateway name  (plus the SMTP address in the MHS extended
  3147.                    address), which  is the conventional way to address mail
  3148.                    through a gateway.
  3149.  
  3150.                    MHS however,  will also  route mail  fine to XGATE if an
  3151.                    alternate syntax where the gateway name preceeds the MHS
  3152.                    workgroup name is used.
  3153.  
  3154.                    For example:
  3155.  
  3156.                       SMTP @ ACME {smtp_address}
  3157.  
  3158.                    (If SMTP  is XGATE's  gateway name  and ACME is your MHS
  3159.                    workgroup name.)  Enable this option if you'd rather use
  3160.                    this style of syntax.
  3161.  
  3162.                    Possible values are either Yes or No.
  3163.  
  3164.                    Note:  If native_smf71  is enabled,  this option  has no
  3165.                    effect.
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.                                          43
  3175.  
  3176.                                                 XGATE - MHS to SMTP Gateway
  3177.           -----------------------------------------------------------------
  3178.  
  3179.  
  3180.  
  3181.                native_smf71native_smf71
  3182.  
  3183.                    Enabling this  option usually  means you are running MHS
  3184.                    2.0 or  NGM and  have XGATE configured as a gateway that
  3185.                    supports additional TCP/IP address formats.
  3186.  
  3187.                    This option  is recognized  whether or  not you have MHS
  3188.                    2.0 or  NGM (SMF-71) installed, which allows native SMTP
  3189.                    addressing from  your MHS  E-Mail application  if you're
  3190.                    using an  MHS clone  that can  do hint routing but isn't
  3191.                    SMF-71 capable.
  3192.  
  3193.                    When enabled,  native_smf71 significantly alters XGATE's
  3194.                    addressing behavior.   For  a detailed explanation refer
  3195.                    to "Using XGATE with SMF-71".
  3196.  
  3197.                    Possible values are either Yes or No.
  3198.  
  3199.  
  3200.                smtp_gateway_namesmtp_gateway_name
  3201.  
  3202.                    This variable  should be  set  to  the  fully  qualified
  3203.                    TCP/IP host name that has been assigned to XGATE.  XGATE
  3204.                    uses this  variable  to  build  the  reply  address  for
  3205.                    outgoing SMTP  mail, and  the SMTP Server module uses it
  3206.                    in some  of its  dialog when  exchanging mail with other
  3207.                    SMTP hosts.
  3208.  
  3209.  
  3210.                smtp_default_hostsmtp_default_host
  3211.  
  3212.                    Using this variable is optional and is useful if a large
  3213.                    percentage of  outbound SMTP mail goes to a certain SMTP
  3214.                    host.   If an  MHS user  sends a  message through  XGATE
  3215.                    without  specifying   the  destination  SMTP  host,  the
  3216.                    message will  be addressed to the host specified by this
  3217.                    variable.   If this variable isn't set and a MHS message
  3218.                    is launched  without  specifying  the  destination  SMTP
  3219.                    host, it  will  almost  certainly  be  returned  with  a
  3220.                    delivery error.
  3221.  
  3222.                    For example,  if this variable is set to "acme1.com" and
  3223.                    XGATE's MHS gateway name is "SMTP", an MHS user can send
  3224.                    a message  to "joe@acme1.com" by simply addressing it to
  3225.                    "joe@smtp".
  3226.  
  3227.  
  3228.                smtp_timezonesmtp_timezone
  3229.  
  3230.                    This variable  is used  when XGATE  builds  the  "Date:"
  3231.                    field in  an outbound  SMTP message,  when  the  "Date:"
  3232.                    field in  the sender's MHS message did not contain a UTC
  3233.                    (Universal Time Coordinate).
  3234.  
  3235.  
  3236.  
  3237.  
  3238.                                          44
  3239.  
  3240.                                                 XGATE - MHS to SMTP Gateway
  3241.           -----------------------------------------------------------------
  3242.  
  3243.  
  3244.  
  3245.                    SMTP messages  are expected to have a time zone in their
  3246.                    date fields,  but in  MHS it was an after-thought.  Even
  3247.                    the  most   up-to-date  versions   of  many  MHS  E-Mail
  3248.                    applications still don't build it properly.
  3249.  
  3250.                    So when  XGATE converts  an  MHS  message  that  doesn't
  3251.                    specify the  time zone in its "Date:" field, it needs to
  3252.                    know what  time zone should be used in the outbound SMTP
  3253.                    message.
  3254.  
  3255.                    Even if your MHS E-Mail application does correctly build
  3256.                    its "Date:"  fields with a UTC, its still a good idea to
  3257.                    make sure  this variable is set properly for XGATE.  (If
  3258.                    the  "conv_time_to_local"   option  is   enabled,   this
  3259.                    variable must contain a valid time zone.)
  3260.  
  3261.                    Valid options are:
  3262.  
  3263.                       PST, PDT,  MST, MDT,  CST, CDT,  EST, EDT,  or a  UTC
  3264.                       (i.e. -0800, -0500)
  3265.  
  3266.                    Note:  If a  text-based time  zone is  entered for  this
  3267.                    variable (i.e.  "PST"), it  is internally converted to a
  3268.                    UTC value, and the UTC value is then used for almost all
  3269.                    of the time zone related functions within XGATE.
  3270.  
  3271.  
  3272.                conv_time_to_localconv_time_to_local
  3273.  
  3274.                    This option  controls whether  XGATE  will  convert  the
  3275.                    date/time stamp  of inbound  SMTP mail  to  local  time.
  3276.                    Sometimes this  is desirable  for several reasons (since
  3277.                    MHS doesn't  want to  do it for us).  First, if your MHS
  3278.                    E-Mail application  displays messages received sorted by
  3279.                    the date  stamp, messages  received from  SMTP that were
  3280.                    sent at  an earlier  hour won't  show at  the top of the
  3281.                    inbox, where  you would  expect to  see  a  new  message
  3282.                    (provided a  user gets that many messages).  Second, you
  3283.                    might want  the date  and time  of all  messages in your
  3284.                    inbox to  be based  on local time (since there's usually
  3285.                    nothing that says the time of the message is not local).
  3286.  
  3287.                    In  order   for  this   feature  to   work  right,   the
  3288.                    "smtp_timezone" has to be set correctly.
  3289.  
  3290.                    Possible values are either Yes or No.
  3291.  
  3292.  
  3293.                smtp_exclude_mhs_hubsmtp_exclude_mhs_hub
  3294.  
  3295.                    This option controls whether the reply address built for
  3296.                    outbound SMTP  messages will  include the  name  of  the
  3297.                    sender's MHS workgroup.
  3298.  
  3299.  
  3300.  
  3301.  
  3302.                                          45
  3303.  
  3304.                                                 XGATE - MHS to SMTP Gateway
  3305.           -----------------------------------------------------------------
  3306.  
  3307.  
  3308.  
  3309.                    If there's only one MHS hub that XGATE will receive mail
  3310.                    for, or  if MHS is configured as a multi-host workgroup,
  3311.                    you may  find it  desirable to not have the sender's MHS
  3312.                    workgroup  name   expressed  in  the  reply  address  of
  3313.                    outbound SMTP  messages, since  replying to the MHS user
  3314.                    at the default workgroup will work fine.
  3315.  
  3316.                    This option  should not  be enabled if XGATE will handle
  3317.                    any outbound  MHS message  that can't  be replied  to by
  3318.                    using the  sender's name  at the  default MHS workgroup.
  3319.                    (This might  be the  case if  XGATE  handles  mail  that
  3320.                    originates from  another gateway  on your  MHS hub.)  If
  3321.                    XGATE will  route mail to users on multiple MHS hubs and
  3322.                    you don't  use a  workgroup-wide router,  do not  enable
  3323.                    this option!
  3324.  
  3325.                    For example;  if the  MHS workgroup  name is  "mhs1" and
  3326.                    XGATE's smtp_gateway_name  is "xgate.acme.com", and this
  3327.                    option is  disabled, the  reply address  will look  like
  3328.                    this:
  3329.  
  3330.                       user%mhs1@xgate.acme.com
  3331.  
  3332.                    If this  option is  enabled, reply  addresses will  look
  3333.                    like this:
  3334.  
  3335.                       user@xgate.acme.com
  3336.  
  3337.                    Enabling this  option might reduce some confusion if you
  3338.                    want  to  tell  SMTP  users  that  your  MHS  users  are
  3339.                    addressed   as    user@smtp_gateway_name   instead    of
  3340.                    user%mhshub@smtp_gateway_name, since they then won't get
  3341.                    messages with a reply address that looks different.
  3342.  
  3343.  
  3344.                smtp_include_mhs_appsmtp_include_mhs_app
  3345.  
  3346.                    This option  controls whether  XGATE  includes  the  MHS
  3347.                    application name  in the  reply address when building an
  3348.                    outbound SMTP  message (if  it  was  given  in  the  MHS
  3349.                    message).
  3350.  
  3351.                    This  option   is  not   normally  enabled  because  MHS
  3352.                    "manages" E-Mail  applications.   Which means  that  MHS
  3353.                    will automatically  route inbound messages to the user's
  3354.                    primary  E-Mail  application  when  its  not  explicitly
  3355.                    specified.
  3356.  
  3357.                    Regardless of  whether this  option  is  enabled,  XGATE
  3358.                    always reacts to an MHS application name if its embedded
  3359.                    in the address of an inbound SMTP message (inside square
  3360.                    brackets).
  3361.  
  3362.  
  3363.  
  3364.  
  3365.  
  3366.                                          46
  3367.  
  3368.                                                 XGATE - MHS to SMTP Gateway
  3369.           -----------------------------------------------------------------
  3370.  
  3371.  
  3372.  
  3373.                    This option  is provided  in the event that you have MHS
  3374.                    users that  use more  than one  E-Mail application,  and
  3375.                    embedding the application name in their reply address is
  3376.                    the only  way to  assure that  replies will come back to
  3377.                    the right E-Mail application.
  3378.  
  3379.                    Possible values are either Yes or No.
  3380.  
  3381.  
  3382.                smtp_receiptssmtp_receipts
  3383.  
  3384.                    This option  controls whether all received SMTP messages
  3385.                    will request  a return  receipt when  the MHS user reads
  3386.                    the message (not normally used).
  3387.  
  3388.                    Other  options   for  requesting   return  receipts  are
  3389.                    described  in   a  previous   section   called   "Return
  3390.                    Receipts".
  3391.  
  3392.  
  3393.                use_mhs_ret_rcptuse_mhs_ret_rcpt
  3394.  
  3395.                    This option controls whether XGATE pays any attention to
  3396.                    if  an   outbound  MHS  message  has  a  return  receipt
  3397.                    requested.  If this option is enabled and an MHS message
  3398.                    requests a  return receipt, a "Return-Receipt-To:" field
  3399.                    is inserted  in the SMTP header.  In most cases however,
  3400.                    this only produces a delivery notification from the SMTP
  3401.                    mailer, not a time-of-reading notification.  If most MHS
  3402.                    users on  your system  default to having return receipts
  3403.                    enabled, it  may not  be desirable  to have  this option
  3404.                    enabled.  It is off by default.
  3405.  
  3406.  
  3407.                name_mapping_modename_mapping_mode
  3408.  
  3409.                    This variable  controls whether  the return  address for
  3410.                    outbound SMTP  mail  is  built  using  a  percent  ("%")
  3411.                    character as the MHS workgroup delimiter, or whether the
  3412.                    old-style period is used.
  3413.  
  3414.                    This variable has the following options:
  3415.  
  3416.                       0....A "%" is used for the workgroup separator
  3417.                       1....A "." is used for the workgroup separator
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.  
  3430.                                          47
  3431.  
  3432.                                                 XGATE - MHS to SMTP Gateway
  3433.           -----------------------------------------------------------------
  3434.  
  3435.  
  3436.  
  3437.                    If "smtp_exclude_mhs_hub" is enabled, this option has no
  3438.                    effect.  This option only controls how the reply address
  3439.                    of an  outbound SMTP  message is  built.    For  inbound
  3440.                    messages, XGATE  will always respond to the percent sign
  3441.                    as an  MHS workgroup  separator, or  if a  percent  sign
  3442.                    isn't found,  the first period encountered is considered
  3443.                    the end  of the  user name  and the  start  of  the  MHS
  3444.                    workgroup.  Subsequent periods are then considered to be
  3445.                    periods.
  3446.  
  3447.                    In order  to fully  support SMF-71 long user names (that
  3448.                    legally can  contain a  period), the mapping mode should
  3449.                    be set to 0.  Mapping mode 1 will still work with SMF-71
  3450.                    as long as all inbound SMTP messages use short names for
  3451.                    the user name.
  3452.  
  3453.  
  3454.                smtp_user_suffixsmtp_user_suffix
  3455.  
  3456.                    This is  an optional variable that is NOT___ normally used.
  3457.                    If for  some reason additional text needs to be inserted
  3458.                    in the  reply address of outgoing SMTP mail, between the
  3459.                    user's name  and the  smtp_gateway_name, this field will
  3460.                    do that.
  3461.  
  3462.                    Normally XGATE  builds reply  addresses of outgoing SMTP
  3463.                    messages        using         a        syntax         of
  3464.                    "user%mhshub@smtp_gateway_name".   If a  value is  given
  3465.                    for this  variable, the text is inserted between %mhshub
  3466.                    and @smtp_gateway_name.
  3467.  
  3468.                    When you  might consider  using  this  option  is  in  a
  3469.                    situation where  because for  one reason  or another you
  3470.                    can't get  XGATE's TCP/IP  host name  registered with  a
  3471.                    name server  - but there's a nearby UNIX host willing to
  3472.                    accept and forward mail to XGATE.
  3473.  
  3474.                    The technique  for doing  this is described in a section
  3475.                    called "Hiding XGATE Behind Another UNIX Box" earlier in
  3476.                    this manual.
  3477.  
  3478.                    This only  time this  variable is  used is when building
  3479.                    the reply address for an outbound SMTP message.
  3480.  
  3481.  
  3482.                uuencodeuuencode
  3483.  
  3484.                    This option  controls whether  XGATE will  automatically
  3485.                    uuencode files  attached to MHS messages, and whether it
  3486.                    will automatically  scan inbound  SMTP  messages  for  a
  3487.                    block of  uuencoded text.   Possible  answers are either
  3488.                    Yes or No.
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.                                          48
  3495.  
  3496.                                                 XGATE - MHS to SMTP Gateway
  3497.           -----------------------------------------------------------------
  3498.  
  3499.  
  3500.  
  3501.                decode_headerdecode_header
  3502.  
  3503.                    This variable  is provided  to  help  trigger  automatic
  3504.                    uudecoding of  encoded MHS  file attachments  when  they
  3505.                    reach a  remote SMTP  user.   A lot  of SMTP user agents
  3506.                    don't automatically scan for uuencode blocks unless they
  3507.                    see a  header field  in the SMTP message that makes them
  3508.                    think the message might have a block of uuencode text.
  3509.  
  3510.                    When one  or more  of these  variables  are  defined  in
  3511.                    XGATE.CFG, XGATE  will automatically  insert all of them
  3512.                    in the  header of  the SMTP  message when it uuencodes a
  3513.                    MHS file attachment.
  3514.  
  3515.                    The best  way to  determine whether  this  variable  can
  3516.                    help, and  what text  to use if so, is to scrutinize the
  3517.                    header generated by the SMTP user agent in question when
  3518.                    it sends a uuencoded file attachment.
  3519.  
  3520.                    If the  filename of  the attached  file is needed in the
  3521.                    SMTP  header,   embedding  a   %FN  in   the  variable's
  3522.                    definition will  expand into  the real-time  name of the
  3523.                    file(s) when the message is built.
  3524.  
  3525.                    For example:
  3526.  
  3527.                       decode_header=Next-Attachment: %fn
  3528.                       decode_header=Content-Type: x-uuencode-apple-single
  3529.  
  3530.                    The first example is designed to trip automatic decoding
  3531.                    on NEXT  computers, and  the second  for Apple computers
  3532.                    running Microsoft Mail.  A little experimentation may be
  3533.                    necessary to  determine whether a remote SMTP user agent
  3534.                    can be  tricked into  automatically decoding a uuencoded
  3535.                    block, and what the proper values are.
  3536.  
  3537.  
  3538.                scrap_mhs_attachscrap_mhs_attach
  3539.  
  3540.                    This variable  allows  you  to  have  certain  MHS  file
  3541.                    attachments ignored  when a  MHS message  passes through
  3542.                    XGATE (instead  of sending the file as a uuencoded block
  3543.                    in the  message body).   This is useful with some MHS E-
  3544.                    Mail  applications   that  like  to  add  an  attachment
  3545.                    containing formatting information (such as Beyond Mail's
  3546.                    Windows product)  which has no useful purpose if sent to
  3547.                    an SMTP user.
  3548.  
  3549.                    This variable can be defined more than once.
  3550.  
  3551.                    For example:
  3552.  
  3553.                       scrap_mhs_attach=*BEYOND*   ;Scrap Beyond's attachs
  3554.  
  3555.  
  3556.  
  3557.  
  3558.                                          49
  3559.  
  3560.                                                 XGATE - MHS to SMTP Gateway
  3561.           -----------------------------------------------------------------
  3562.  
  3563.  
  3564.  
  3565.                scan_frequencyscan_frequency
  3566.  
  3567.                    This variable controls how often XGATE scans for new MHS
  3568.                    mail in  seconds.   XGATE is  very efficient about doing
  3569.                    this.   A value  between 10 and 20 seconds is negligible
  3570.                    in the amount of network traffic generated.
  3571.  
  3572.  
  3573.                black_and_whiteblack_and_white
  3574.  
  3575.                    This option forces XGATE to operate in a black and white
  3576.                    mode, which could be useful when you have a monitor that
  3577.                    displays shades  of green  (or whatever)  attached to  a
  3578.                    color video card.
  3579.  
  3580.  
  3581.                mutemute
  3582.  
  3583.                    This option keeps XGATE from beeping when error messages
  3584.                    are displayed.  Possible answers are either Yes or No.
  3585.  
  3586.  
  3587.                screen_savescreen_save
  3588.  
  3589.                    This variable  sets the  number of  minutes after  which
  3590.                    XGATE will blank the screen if no activity has occurred.
  3591.                    A value  of zero disables the screen saver.  If enabled,
  3592.                    a blanked  screen is  automatically  restored  when  new
  3593.                    activity occurs.
  3594.  
  3595.  
  3596.                inbound_loginbound_log
  3597.  
  3598.                    If this  variable contains  a value, a complete path and
  3599.                    filename must  be used.  XGATE will then write a single-
  3600.                    line entry  in the  file specified for each inbound SMTP
  3601.                    message received.  If the path points to a server volume
  3602.                    (i.e. SYS:XGATE\INBOUND.LOG),  make sure  the user  name
  3603.                    XGATE is logged in with has sufficient disk privileges.
  3604.  
  3605.  
  3606.                outbound_logoutbound_log
  3607.  
  3608.                    If this  variable contains  a value, a complete path and
  3609.                    filename must  be used.  XGATE will then write a single-
  3610.                    line entry  in the file specified for each outbound SMTP
  3611.                    message received.  If the path points to a server volume
  3612.                    (i.e. SYS:XGATE\INBOUND.LOG),  make sure  the user  name
  3613.                    XGATE is logged in with has sufficient disk privileges.
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.                                          50
  3623.  
  3624.                                                 XGATE - MHS to SMTP Gateway
  3625.           -----------------------------------------------------------------
  3626.  
  3627.  
  3628.  
  3629.                error_logerror_log
  3630.  
  3631.                    If this  variable contains  a value, a complete path and
  3632.                    filename must  be used.  XGATE will then write a single-
  3633.                    line entry  in the  file specified  for  each  error  or
  3634.                    warning message  encountered.   If the  path points to a
  3635.                    server volume  (i.e. SYS:XGATE\INBOUND.LOG),  make  sure
  3636.                    the user  name XGATE  is logged  in with  has sufficient
  3637.                    disk privileges.
  3638.  
  3639.  
  3640.                mhs_scrollback_linesmhs_scrollback_lines
  3641.  
  3642.                    This variable  controls how much conventional memory can
  3643.                    be allocated  for the  MHS Gateway  Activity scroll back
  3644.                    buffer.
  3645.  
  3646.                    For more information refer to "smtp_scrollback_lines".
  3647.  
  3648.  
  3649.                smtp_scrollback_linessmtp_scrollback_lines
  3650.  
  3651.                    This variable  controls how much conventional memory can
  3652.                    be allocated for the SMTP Monitor scroll back buffer.
  3653.  
  3654.                    If expanded  memory (LIM/EMM) version 4.0 isn't present,
  3655.                    this variable  controls how  many lines  of  scroll-back
  3656.                    buffer XGATE  will attempt to allocate from conventional
  3657.                    memory.   XGATE will  limit the  total number to a value
  3658.                    that uses  less than  64k.  (Each line consumes about 80
  3659.                    bytes.)
  3660.  
  3661.                    If expanded  memory is  present, XGATE  disregards  this
  3662.                    variable and  first attempts  to allocate two 16K pages.
  3663.                    If it gets that, it'll try to expand it to a full 64k by
  3664.                    allocating 2  more pages  of 16K.   (The minimum unit of
  3665.                    issue in the world of expanded memory is a 16K page.)
  3666.  
  3667.  
  3668.                watch_dogwatch_dog
  3669.  
  3670.                    This variable  controls whether  XGATE will try to watch
  3671.                    from the  hardware timer-tick whether something has gone
  3672.                    awry and the computer is hung-up.
  3673.  
  3674.                    If no  activity has  been detected  either with  XGATE's
  3675.                    process time  slicer, or  the MS-DOS function dispatcher
  3676.                    for the  specified number  of seconds, XGATE will reboot
  3677.                    the computer.   This  feature will only work if hardware
  3678.                    interrupts are  still functioning  at the point when the
  3679.                    computer needs  to be  rebooted.   Chances are slim that
  3680.                    you'll need  this feature,  but with  so many  different
  3681.                    elements involved  it was  thought to be a good thing to
  3682.                    have around anyway.
  3683.  
  3684.  
  3685.  
  3686.                                          51
  3687.  
  3688.                                                 XGATE - MHS to SMTP Gateway
  3689.           -----------------------------------------------------------------
  3690.  
  3691.  
  3692.  
  3693.  
  3694.                    A value  of zero  disables the watchdog.   Otherwise, if
  3695.                    the value  given is not zero and less than 10 XGATE will
  3696.                    automatically raise it to 10.
  3697.  
  3698.                    If this  value is  set to  10, the  computer will simply
  3699.                    reboot after  10 seconds of apparent inactivity.  If the
  3700.                    value is  set higher than 10 seconds, the watch dog will
  3701.                    start beeping  at the  10 second  mark, and  once  again
  3702.                    every two seconds, until the time out period expires.
  3703.  
  3704.  
  3705.                max_xmit_processesmax_xmit_processes
  3706.  
  3707.                    This variable  limits the  maximum number  of  originate
  3708.                    (transmit) processes that XGATE will start concurrently.
  3709.  
  3710.                    Even though  the SMTP  Server is  technically capable of
  3711.                    supporting  100   concurrent   SMTP   sessions   (memory
  3712.                    providing), this  is usually  much more  than most sites
  3713.                    will ever  have a realistic requirement for.  But if so,
  3714.                    this option  is mainly used to prevent outbound sessions
  3715.                    from saturating  all of the sockets possible in the SMTP
  3716.                    Server (which  can happen if XGATE has been off-line for
  3717.                    a while and has received a lot of outbound mail from MHS
  3718.                    in the  meantime)  and  thus  leaving  it  incapable  of
  3719.                    receiving a listen connection.
  3720.  
  3721.                    Since the  SMTP Server  uses the  NetWare Queue Services
  3722.                    API,  each   inbound  or   outbound  session  indirectly
  3723.                    involves opening  a file  handle.   Before  raising  the
  3724.                    value of  this variable  higher than  40 (which  is  the
  3725.                    default number  of  file  handles  under  NetWare),  you
  3726.                    should also  correspondingly raise  the number  of  file
  3727.                    handles that NETx is capable of supporting.
  3728.  
  3729.                    Normally a  value of  20 is  more than adequate for most
  3730.                    installations....
  3731.  
  3732.  
  3733.                relay_moderelay_mode
  3734.  
  3735.                    If both  the relay  host is defined and name servers are
  3736.                    given,  this   variable  controls  whether  XGATE  first
  3737.                    attempts to  connect to  the relay  host, or directly to
  3738.                    the  destination  host  using  the  name  servers  (when
  3739.                    processing outbound mail).
  3740.  
  3741.                    These are the possible values:
  3742.  
  3743.                    0  Attempt direct  delivery  first  using  the  list  of
  3744.                       domain name  servers.   If the  host  name  can't  be
  3745.                       resolved or  if XGATE can't connect to the host, pass
  3746.                       the message to the relay host (if defined).
  3747.  
  3748.  
  3749.  
  3750.                                          52
  3751.  
  3752.                                                 XGATE - MHS to SMTP Gateway
  3753.           -----------------------------------------------------------------
  3754.  
  3755.  
  3756.  
  3757.  
  3758.                    1  Attempt to pass all messages to the relay host first.
  3759.                       If the  relay host  isn't available  and name servers
  3760.                       have been  defined, XGATE  will then  attempt  direct
  3761.                       delivery to the remote host.
  3762.  
  3763.                    Note that  the only  instance in  which XGATE  will pass
  3764.                    multiple recipient  names in the same session (should it
  3765.                    get a message that converted from MHS that way by XGATE)
  3766.                    is if  the relay_mode is set to 1.  If the relay_mode is
  3767.                    set to  0, XGATE  will initiate separate connections for
  3768.                    each recipient in a message.
  3769.  
  3770.  
  3771.                relay_hostrelay_host
  3772.  
  3773.                    This is  the fully  qualified numeric  IP address of the
  3774.                    relay host.
  3775.  
  3776.                    If the  relay host  isn't specified,  at least  one name
  3777.                    server must be given.
  3778.  
  3779.                    Whether the relay host is used first, or direct delivery
  3780.                    to  the   recipient's  host,   is  controlled   by   the
  3781.                    "relay_mode" variable.
  3782.  
  3783.  
  3784.                connect_timeoutconnect_timeout
  3785.  
  3786.                    This is  the time  XGATE  will  wait  in  seconds  after
  3787.                    initiating  a   connection,   before   considering   the
  3788.                    connection attempt failed for lack of any response.
  3789.  
  3790.  
  3791.                reschedule_minutesreschedule_minutes
  3792.  
  3793.                    If this variable is set, XGATE will re-schedule outbound
  3794.                    messages (queue  jobs) that fail to connect by this many
  3795.                    minutes.
  3796.  
  3797.                    This is  mainly useful when XGATE runs in direct deliver
  3798.                    mode without a relay host, so that it won't tie up a lot
  3799.                    of CPU  time constantly  trying to  connect to a foreign
  3800.                    host that is unavailable or doesn't exist.  Even if this
  3801.                    variable isn't  set, XGATE always rotates jobs that fail
  3802.                    to the end of the queue.
  3803.  
  3804.  
  3805.                undeliverable_hoursundeliverable_hours
  3806.  
  3807.                    This variable tells XGATE how long to continue trying to
  3808.                    send a  message that  it can't deliver (for any reason),
  3809.                    before returning it to the sender as undeliverable.
  3810.  
  3811.  
  3812.  
  3813.  
  3814.                                          53
  3815.  
  3816.                                                 XGATE - MHS to SMTP Gateway
  3817.           -----------------------------------------------------------------
  3818.  
  3819.  
  3820.  
  3821.                    If  this   variable  is   set  higher   than  24   hours
  3822.                    (recommended because  some  systems  go  down  over  the
  3823.                    weekend), XGATE  will send  an error status message back
  3824.                    to the  sender after the first 4 hours, and subsequently
  3825.                    after  each   24  hour   period  that   a   message   is
  3826.                    undeliverable.
  3827.  
  3828.                    If a  relay host  is defined,  chances are this time out
  3829.                    will never  be encountered since XGATE will subsequently
  3830.                    pass a  message that  fails direct delivery to the relay
  3831.                    host.
  3832.  
  3833.  
  3834.                resolve_minutesresolve_minutes
  3835.  
  3836.                    This variable tells XGATE how long to continue trying to
  3837.                    deliver a  message when  its host name can't be resolved
  3838.                    using the name servers defined.
  3839.  
  3840.                    You would  normally set this value to at least twice the
  3841.                    value of  "reschedule_minutes" so that your name servers
  3842.                    will  have  at  least  two  attempts  at  resolving  the
  3843.                    destination host.  Sometimes a caching name server won't
  3844.                    know a  host name  when queried the first time, but will
  3845.                    subsequently issue  a recursive query back up its chain,
  3846.                    and in  the meantime XGATE has advanced to the next name
  3847.                    server in the list - all of which may time out the first
  3848.                    go around.  On a second attempt, one of the caching name
  3849.                    servers might have gotten a response back and be able to
  3850.                    resolve the name.
  3851.  
  3852.                    When this  time out  expires, the message is returned to
  3853.                    the sender with an error that the host is unknown.
  3854.  
  3855.                    If a  relay host  is defined,  chances are this time out
  3856.                    will never  be encountered since XGATE will subsequently
  3857.                    pass a  message that  fails direct delivery to the relay
  3858.                    host.
  3859.  
  3860.  
  3861.                name_servername_server
  3862.  
  3863.                    This variable identifies a name server.
  3864.  
  3865.                    The value  given must  be a  fully qualified  numeric IP
  3866.                    address.   In order  for XGATE to do direct delivery, at
  3867.                    least one  name server  must be specified so destination
  3868.                    host names can be resolved to a numeric IP addresses.
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.                                          54
  3879.  
  3880.                                                 XGATE - MHS to SMTP Gateway
  3881.           -----------------------------------------------------------------
  3882.  
  3883.  
  3884.  
  3885.                    XGATE can  also utilize  a file-based host table (called
  3886.                    HOSTS in  XGATE's  home  directory),  but  its  provided
  3887.                    mainly for  serving short-cut  names to  local hosts (if
  3888.                    they are  configured to  query XGATE  as a name server).
  3889.                    The purpose  of XGATE's  HOSTS file isn't to resolve all
  3890.                    of the possible host names that outbound SMTP mail might
  3891.                    need to resolve.  If all hosts were defined in the hosts
  3892.                    file,  the   impact  on  XGATE's  working  memory  would
  3893.                    probably inhibit  XGATE from  loading at  all -  and you
  3894.                    don't want that kind of administration anyway.
  3895.  
  3896.                    Its much easier and better to define several name_server
  3897.                    entries so  XGATE can  resolve outbound mail by querying
  3898.                    another name server, when it attempts direct delivery.
  3899.  
  3900.                    This variable  can be  given more  than once,  up  to  a
  3901.                    maximum of 10 times.
  3902.  
  3903.  
  3904.                domain_timeoutdomain_timeout
  3905.  
  3906.                    After sending a query to a name server to resolve a host
  3907.                    name, this is the time (in seconds) that XGATE waits for
  3908.                    a response  before advancing  to the next name server or
  3909.                    timing out  the attempt if no more name servers are left
  3910.                    to query.   When multiple name servers are given, a late
  3911.                    response from a query to a previous name server is still
  3912.                    recognized.
  3913.  
  3914.  
  3915.                pingping
  3916.  
  3917.                    This statement allows a host to be Ping'd on a recurring
  3918.                    basis.   This could  be useful  if your  access  to  the
  3919.                    Internet is  through a  dial-up  link  that  disconnects
  3920.                    after a  period of inactivity, and you want something to
  3921.                    generate recurring  traffic through the link so that the
  3922.                    inactivity timeout won't occur.
  3923.  
  3924.                    The format of the ping command is:
  3925.  
  3926.                       ping <ipaddress> [minutes]
  3927.  
  3928.                    The <ipaddressipaddress>  is the  host you  want to  ping  (which
  3929.                    should be  on the  other side  of the router you want to
  3930.                    keep awake).
  3931.  
  3932.                    MinutesMinutes is  an optional  number of  minutes  in  between
  3933.                    ping's generated.   If  it isn't  given, a value of 1 is
  3934.                    assumed.
  3935.  
  3936.                    Ping activity generated by this option won't show in the
  3937.                    SMTP  Monitor  unless  XGATE  is  started  with  the  -I
  3938.                    (verbose ICMP) command line switch.
  3939.  
  3940.  
  3941.  
  3942.                                          55
  3943.  
  3944.                                                 XGATE - MHS to SMTP Gateway
  3945.           -----------------------------------------------------------------
  3946.  
  3947.  
  3948.  
  3949.  
  3950.                    Only one PING command can be active in XGATE.CFG.
  3951.  
  3952.  
  3953.                bindbind
  3954.  
  3955.                    This variable  essentially tells  XGATE what  its own IP
  3956.                    address is.   Although its not normal, XGATE can support
  3957.                    more than one interface (network card) by using multiple
  3958.                    bind commands.
  3959.  
  3960.                    IP addresses  are bound logically inside XGATE (actually
  3961.                    in the  Mach 2 TCP/IP  protocol stack)  to either an ODI
  3962.                    driver, or a Packet Driver.  As mentioned, more than one
  3963.                    bind statement  can  be  used  to  support  multiple  IP
  3964.                    addresses and/or interfaces, but such usage is rare.  At
  3965.                    least one bind statement must be present in XGATE.CFG.
  3966.  
  3967.                    The format of the bind command is:
  3968.  
  3969.                       bind <ipaddress>, <netmask> [,<interface>] [,<bcast>]
  3970.  
  3971.                    <ipaddressipaddress> is  the local  IP address  being bound  to a
  3972.                    particular interface  board (which will be XGATE's local
  3973.                    IP address).
  3974.  
  3975.                    <netmasknetmask>  is   the  portion  of  the  IP  address  that
  3976.                    represents the network part (which is what XGATE uses to
  3977.                    determine when  a packet is destined to a remote network
  3978.                    and has  to be  routed).  For instance, the netmask of a
  3979.                    class C subnet would be 255.255.255.0.
  3980.  
  3981.                    Both  the   <ipaddress>  and  <netmask>  parameters  are
  3982.                    expressed as  fully qualified  IP  addresses  in  dotted
  3983.                    notation.
  3984.  
  3985.                    <interfaceinterface> is  an optional  parameter  that  explicitly
  3986.                    tells XGATE what network interface (card) to bind the IP
  3987.                    address to.   In  most cases this can be left out or set
  3988.                    to zero  and XGATE  will automatically bind correctly to
  3989.                    the next  available interface  driver  that  supports  a
  3990.                    TCP/IP frame type.  Specifying which interface is needed
  3991.                    if more  than one  network card is present, or more than
  3992.                    one frame  type is present that supports TCP/IP.  If the
  3993.                    interface is not specified and XGATE does a search for a
  3994.                    compatible interface, an ODI driver is recognized before
  3995.                    a Packet Driver, should both happen to be present.
  3996.  
  3997.                    When specifying an explicit interface, the number can be
  3998.                    expressed in either decimal or hex (hex values are given
  3999.                    in C format by prefixing the number with a "0x").
  4000.  
  4001.  
  4002.  
  4003.  
  4004.  
  4005.  
  4006.                                          56
  4007.  
  4008.                                                 XGATE - MHS to SMTP Gateway
  4009.           -----------------------------------------------------------------
  4010.  
  4011.  
  4012.  
  4013.                    If the  interface number  is a  value between  1 and  16
  4014.                    (decimal), it  is considered  to be  a  reference  to  a
  4015.                    logical MLID  "board ID"  number that  was  bound  to  a
  4016.                    suitable frame  type in  NET.CFG (usually  ETHERNET_II).
  4017.                    (An MLID is a card-specific ODI driver.)
  4018.  
  4019.                    If the  interface number  is a  value between 17 and 255
  4020.                    (decimal), it  is considered  to be  a  reference  to  a
  4021.                    Clarkson Packet Driver configured to use that number for
  4022.                    its software  interrupt.   Packet Driver  interrupts are
  4023.                    normally expressed  in hexadecimal,  so be  sure to give
  4024.                    the interface prefixed with a "0x" if so appropriate.
  4025.  
  4026.                    <bcastbcast> is  an optional  parameter  that  overrides  the
  4027.                    normal use of 1's for broadcast bits in the host portion
  4028.                    of an IP Address.  If <bcast> is given, it can only be a
  4029.                    value of 0 or 1.
  4030.  
  4031.  
  4032.                routeroute
  4033.  
  4034.                    Route commands  are used  to initially  seed the routing
  4035.                    table with  static  routes,  or  to  enable  RIP,  or  a
  4036.                    combination of  both.   When RIP is enabled, a broadcast
  4037.                    query for  RIP information  is sent  on  all  interfaces
  4038.                    immediately upon startup.
  4039.  
  4040.                    Normally the  use of  RIP is  overkill (unless XGATE has
  4041.                    more than  one network interface), because all non-local
  4042.                    packets will  probably end  up just  needing to  go to a
  4043.                    default router  (gateway), and  using one  simple static
  4044.                    route to the default router will work just fine.  If you
  4045.                    enable RIP,  and do  not also  specify a static route to
  4046.                    the default  gateway -  XGATE may not be able to talk to
  4047.                    all networks  if the  default gateway  doesn't advertise
  4048.                    itself  through  RIP  as  the  default  route  for  your
  4049.                    network.   The routing  table can be examined from under
  4050.                    the SMTP Monitor's "<D>river, <T>ables" command.
  4051.  
  4052.                    The format of a route statement is:
  4053.  
  4054.                       route <network>, <next_hop_gateway> [,metric]
  4055.                       route RIP
  4056.  
  4057.                    The first  form adds  a static  route.   The second form
  4058.                    enables RIP,  which is  off by default.  Up to 10 static
  4059.                    routes can be given by using multiple route statements.
  4060.  
  4061.                    A <networknetwork>  given as  all zeros  is the equivalent of a
  4062.                    default route  (i.e. everything  not  destined  for  the
  4063.                    local network qualifies, and those packets are then send
  4064.                    to the <next_hop_gatewaynext_hop_gateway>).
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.                                          57
  4071.  
  4072.                                                 XGATE - MHS to SMTP Gateway
  4073.           -----------------------------------------------------------------
  4074.  
  4075.  
  4076.  
  4077.                    When more  than one  IP address  is  bound,  XGATE  will
  4078.                    automatically make  the  correct  association  of  which
  4079.                    interface they route through.
  4080.  
  4081.                    If the  <metricmetric> isn't specified, it is assumed to be 1.
  4082.                    The metric  is used as a means to prioritize routes when
  4083.                    more than  one qualifies.   A  default route  is  always
  4084.                    assigned an  internal metric of 17 (which is higher than
  4085.                    the normal  metrics of 1..15) because default routes are
  4086.                    only supposed to be used if no other route qualifies.
  4087.  
  4088.                    Both the <network> and <next_hop_gateway> parameters are
  4089.                    expressed as  fully qualified  IP  addresses  in  dotted
  4090.                    notation.
  4091.  
  4092.                    Normally, all  that is  needed is a single route command
  4093.                    that specifies a default route to the default gateway.
  4094.  
  4095.                    For example:
  4096.  
  4097.                       route 0.0.0.0, 130.23.4.1
  4098.  
  4099.  
  4100.                ipforwardipforward
  4101.  
  4102.                    The Mach 2  TCP/IP protocol  stack built  into XGATE has
  4103.                    the ability  to forward (route) packets between multiple
  4104.                    interfaces.   If you  have more  than one interface card
  4105.                    installed and  want XGATE to route packets between them,
  4106.                    this option can be enabled with the ipforward statement.
  4107.  
  4108.  
  4109.  
  4110.  
  4111.  
  4112.  
  4113.  
  4114.  
  4115.  
  4116.  
  4117.  
  4118.  
  4119.  
  4120.  
  4121.  
  4122.  
  4123.  
  4124.  
  4125.  
  4126.  
  4127.  
  4128.  
  4129.  
  4130.  
  4131.  
  4132.  
  4133.  
  4134.                                          58
  4135.  
  4136.                                                 XGATE - MHS to SMTP Gateway
  4137.           -----------------------------------------------------------------
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.           INDEXINDEX
  4144.  
  4145.  
  4146.                Addressing  6, 33                 Command Line  17
  4147.                  Default SMTP Host  8, 44      Telnet/25  22
  4148.                  From MHS to SMTP  7           Troubleshooting  32
  4149.                  From SMTP to MHS  6           Using XGATE  19
  4150.                  Native SMF-71  12, 44           Gateway Activity  20
  4151.                  Static Reply  Address  8,       Name Server  23
  4152.                  43                              SMTP Monitor  20
  4153.                Attachments                     Uuencoding  9
  4154.                  Appending ASCII  10           XGATE.CFG  28, 37
  4155.                  Large SMTP Body  10             Alphabetical Index  37
  4156.                Command Line Switches  17         append_ascii_attach   10,
  4157.                Configuration  28                 41
  4158.                  DNS  33                         bind  56
  4159.                  HOSTS  23                       black_and_white  50
  4160.                  Name Serving  23                connect_timeout  53
  4161.                  NET.CFG  30                     conv_body_to_attach   10,
  4162.                  XGATE.CFG  37                   42
  4163.                Delivery Modes  14                conv_time_to_local  45
  4164.                DNS  33                           decode_header  49
  4165.                Extended Address  7               domain_timeout  55
  4166.                Gateway Activity  20              error_log  51
  4167.                HOSTS  23                         ignore_lwsp_after_fold
  4168.                HUBLIC.DAT  30                    42
  4169.                Installation  26                  inbound_log  50
  4170.                Limitations  2                    include_header  40
  4171.                Login Name  17                    include_smtp_fields  40
  4172.                Mach  2   TCP/IP   Protocol       ipforward  58
  4173.                Stack  3                          max_xmit_processes  52
  4174.                Memory  1                         mhs_admin_errors  40
  4175.                MHS Gateway Module  3             mhs_administrator  39
  4176.                MX Records  34                    mhs_default_host  39
  4177.                Name Serving  23, 33              mhs_gateway_name  6, 39
  4178.                Native SMF-71  12, 44             mhs_path  39
  4179.                NET.CFG  30                       mhs_scrollback_lines  51
  4180.                NSLookup  21                      mute  50
  4181.                Ping  21, 55                      name_mapping_mode  7, 47
  4182.                Postmaster  12                    name_server  54
  4183.                Registering XGATE  30             native_smf71  13, 44
  4184.                Return Receipts  10               outbound_log  50
  4185.                Route  22                         ping  55
  4186.                Scroll Back  19                   Reference  39
  4187.                Serializing XGATE  30             relay_host  53
  4188.                Setup  29                         relay_mode  52
  4189.                SMTP Monitor  20                  reschedule_minutes  53
  4190.                SMTP Queues  4                    resolve_minutes  54
  4191.                SMTP Server Module  3             route  57
  4192.                Static Reply Address  8, 43       scan_frequency  50
  4193.                Switches                          scrap_mhs_attach  49
  4194.  
  4195.  
  4196.  
  4197.  
  4198.                                          59
  4199.  
  4200.  
  4201.  
  4202.                                                 XGATE - MHS to SMTP Gateway
  4203.           -----------------------------------------------------------------
  4204.  
  4205.                  screen_save  50
  4206.                  smtp_default_host  44
  4207.                  smtp_exclude_mhs_hub  45
  4208.                  smtp_gateway_name  6, 44
  4209.                  smtp_include_mhs_app  46
  4210.                  smtp_receipts  10, 47
  4211.                  smtp_scrollback_lines  51
  4212.                  smtp_timezone  44
  4213.                  smtp_user_suffix  48
  4214.                  static_reply_address   8,
  4215.                  43
  4216.                  undeliverable_hours  53
  4217.                  use_mhs_ret_rcpt  47
  4218.                  use_mhs_ret_rcpts  11
  4219.                  use_mhs_total_fields  41
  4220.                  use_smtp_repto_as_from
  4221.                  41
  4222.                  uuencode  9, 48
  4223.                  watch_dog  51
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.  
  4231.  
  4232.  
  4233.  
  4234.  
  4235.  
  4236.  
  4237.  
  4238.  
  4239.  
  4240.  
  4241.  
  4242.  
  4243.  
  4244.  
  4245.  
  4246.  
  4247.  
  4248.  
  4249.  
  4250.  
  4251.  
  4252.  
  4253.  
  4254.  
  4255.  
  4256.  
  4257.  
  4258.  
  4259.  
  4260.  
  4261.  
  4262.                                          60