



                                  L   L  L   L
                                  LL LL  LL LL
                                  L L L  L L L
                                  L   L  L   L
                                  L   L  L   L


           LLL   LLLLL   LLL   LLLL   LLLLL  LLLL    LLL    LLL  L  L
          L        L    L   L  L   L    L    L   L  L   L  L     L L
           LLL     L    LLLLL  LLLL     L    LLLL   LLLLL  L     LL
              L    L    L   L  L  L     L    L  L   L   L  L     L L
           LLL     L    L   L  L   L    L    L   L  L   L   LLL  L  L


                             L   L  LL     LL  LLLL
                             L   L L  L   L  L    L
                             L   L L  L    LLL   L
                              L L  L  L      L  L
                               L    LL  L  LL   L




                          (C)  1994-96  Robert Hofmann





 1. Introduction
 ===============

  1.1 Legal stuff
  ---------------

   MM_StarTrack is a full localised  Message-Tracker for  Mail Manager (c)  Pino
   Aliberti, generally used only on node-systems.

   The programs and files in this distribution are freely distributable, but are
   also Copyright (c) Robert Hofmann.  They may be freely distributed as long as
   no more than a nominal fee is charged to cover time and copying costs.

   No commercial usage is  permitted without written permission from the author.
   Everything in this distribution must be kept together, in original unmodified
   form and unmodified archive.


   MM_StarTrack  is mailware :-). This means if  you use it longer that 30 days,
   you have to  register (see also 1.3). YOU HAVE TO  PAY  *NOTHING*!!! You only
   have to send me a mail.

   Due to that,  MM_StarTrack will  automatically  monthly  notify me if you are
   using it longer  than 30 days. The only  difference of the reg. to the unreg.
   version is that the reg. version will *NOT* send notification-msgs to me (see
   also 1.3)!

   Also MM_StarTrack will automatically report ARexx-errors, which may occur due
   to an error in my  code (which hopefully will never happen :-) as  netmail to
   my AmigaNet- or FidoNet-addresse, together with your cfg-file.



   Accepting these few  points is the only  condition for using  MM_StarTrack...


   If you  are not able to agree with  these conditions, you  *MUST* *NOT* *USE*
   this program!!!



   ============================================================================
   The author is not responsible for any problems caused by using this program!
   ============================================================================



   ****************************************************************************
   WARNING: DO NEVER MODIFY  THE SCRIPT!  THIS  COULD END IN  THE LOOSE OF NET-
            MAILS IF YOU DON'T EXACTLY KNOW WHAT YOU ARE DOING!!!
            IF THERE IS A  PROBLEM, PLEASE  REPORT IT  TO *ME*, SO THAT *I* CAN
            FIX IT!
   ****************************************************************************





  1.2 General stuff
  -----------------

   Nearly  all should be configurable as  you like it,  but of course you should
   know what you are doing, 'cause it's a msgtracker :-)

   I am not the best in  writing doc, but quiet good  in coding I think :-) This
   docs are a bit  short I have to  appolognize, but I hope you'll understand it
   anyway... Especially my English and the typo's ;-)



  1.3 Registration of MM_StarTrack
  --------------------------------

   Since v0.85, you  now can register  your copy of  MM_StarTrack. This was done
   because some people complained about the notification-mails.

   BUT YOU HAVE *NO* DISADVANTAGES IF YOU DO NOT REGISTER! The unreg. version is
   *NOT* crippled!!!

   The only  difference  between the  reg. and the  unreg. version  is  that the
   unreg. version starts to send  me  notification-mails  after 30 days of usage
   and all further 30 days.


  1.3.1 Notification-mails
  ------------------------

   The notification-mail  (see Examples/Notification.mail) is automatically sent
   by MM_StarTrack if the evaluation-period of 30 days has expiered.

   This mail consists of some infos  about your system: your statistic-file, no.
   of addresses, domains, mailareas you use, size of MM_StarTrack.cfg & MM_Star-
   Track.rexx.

   As you can see, no critical informations will be sent, it is just to see what
   kind of system you have.

   If you  don't like that, and you disable this function or you stop that mail,
   YOU ARE  NOT ALLOWED TO USE MM_StarTrack on your system! Please consider that
   you can register to prevent these mails and that I want no money...


  1.3.2 How to register?
  ----------------------

   If you find this programm usefull and you want to use it longer that 30 days,
   you should register.

   You need not pay any money for it, but it would be nice if you do so. :-)

   This can be easily  done by using  Reg_StarTrack.rexx, which  you can find in
   the Rexx-dir of this release.

   Make sure that MM is running and just type "rx <dir>/MM_ST_Registration". Now
   you will be asked about some datas. If all was ok, the registration-mail will
   be written in your mailarea. Please check it and if all is ok, you can export
   the message.

   As soon as your reg. mail  arrives here, I will  generate a  personal keyfile
   for you which will only work on *YOUR* system! The key will be send uuencoded
   via netmail.

   If you receive the key, you only  have to uudecode it, copy  it to MM:Config/
   MM_StarTrack/, named  MM_StarTrack.key. After you have  done this, please run
   MM_StarTrack  with option  CPLCFG  ("rx MM:Rexx/MM_StarTrack.rexx CPLCFG") to
   personalize your copy of MM_StarTrack.

   That's all.



  1.4 Author
  ----------

   If  you  have  suggestions  or remarks about this program, or if you find any
   bugs, please let me know.


   Contacting the author:

     Internet .. :  robert@next.amistep.osn.de
                    http://www.osn.de/user/amistep

     FidoNet ... :  2:2490/1015.0
     AmigaNet .. :  39:171/101.0

     Snail-mail  :  Robert  Hofmann
                    Poppenreuther Str. 26
                    D-90419 Nürnberg
                    Tel. +49-(0)-911-338121 (18-20h German time only!!!)
                    Germany

     Bank-Account:  Account-holder:  Robert Hofmann
                    Account-number:  67920
                    Bank-ID ..... :  76090000
                    S.W.I.F.T.code:  GENO DE MV 760
                    Bank-name ... :  Volksbank Nuernberg e.G.





 2. Features
 ===========

  MM_StarTrack...

     ... is not  so easy to configure ;-) but all  parts can be  set as YOU want
         them!
     ... is domain-sensitive
     ... is able to detect netmail-loops & inform the involved systems
     ... is able to Return-Receipt-Requests, even for points!
     ... is able to detect and bounce or delete twit-netmails
     ... is able to detect and bounce or delete crossnet-netmails
     ... is able to detect and bounce (even splitted) encoded mails
     ... is able to detect, bounce & hold FileAttachs
     ... is able to forward mails of unknown senders
     ... is able to delete empty mails
     ... is able to log netmails
     ... is able to execute (multiple) command(s) for every received netmail
     ... is able to forward configured msgs to another person or echo
     ... is fully localized
     ... is (fully?) documented ;-)
     ... offers a bad-netmails area
     ... offers you a very powerful remapping, even with wildcards!
     ... keeps statistics about processed mails
     ... has an advance fileattach-handling
     ... has an advanced config-reading-mechanism (<< 1 sec!)
     ... and (maybe?) many more things ;-)





 3. Installation
 ===============

  1. Create a drawer MM:Config/MM_StarTrack

  2. Copy the files to the corresponding MM:#?/-directories.

  3. Set the mail-areas where it should  be active to "TwoPassImport", otherwise
     it never can process any msg because they immediatly will be routed by MM.

  4. Add it to your import-batch (or aftersession-batch) like

     [...]
     rx mm:rexx/MM_Import
     rx mm:rexx/MM_StarTrack
     rx mm:rexx/MM_AreaManager
     [...]

     or even better, use MM_ImportPlus and add it to its cfg like

     #NETMAILCMD   rx mm:rexx/MM_StarTrack
     #NETMAILCMD   rx mm:rexx/MM_AreaManager
     [...]

  5. Set up an address for you called 9999:9999/9999.9999@badnet
     (#ADDRESS  9999:9999/9999.9999@badnet  0)

  6. Set  up a node called  9999:9999/9999.0@badnet,  addressing 5D, packets 5D,
     flavour HOLD.
     (#NODE 9999:9999/9999.0@badnet ADDR5D PACK5D HOLD HOLD LHA)

  7. Add 9999:9999/9999.0@badnet as last  line in your routing, so that all mail
     which was not affected by your current routing will be SEND as HOLD to this
     node.  If you want  that it  will  work properly,  you have to  use  global
     routing  statements for a  network like  (1|2|3|4|5|6):#?/#?.#?@#? for your
     main (in this case FidoNet-) uplink.
     (#ROUTING #?:#?/#?.#?@#? ALL SEND 9999:9999/9999.0@badnet HOLD)

  8. Create a  MAIL-area for bad  netmails called  e.g. BAD_NETMAILS and set its
     address to 9999:9999/9999.9999@badnet
     (#MAILAREA "Bad Netmails" BAD_NETMAILS Areas:BAD_NETMAIL/ 9999:9999/9999.9999@badnet DUMMY 100
      ReadOnly
      etc..)

  9. Adjust the cfg-files to your personal  needs. If there are no text-files in
     your language, please  translate them and send  a copy to me, so that I can
     include them in a future release (address see somewhere below).


  Asy you may have seen, there is a second script called "MM_StarTrack.rexx.cmp"
  included. This  is a exacltly  the same script  as "MM_StarTrack.rexx" itself,
  except that it was compressed with "Compress.rexx v2.1".

  On slow machines, it  might be useful to  replace the uncompressed script with
  the  compressed one because it is slightly faster... But  please test it first
  with the uncompressed  version, because if an error occurs,  finding the error
  due to error-reports of the compressed script is nearly impossible!

  If you really want to use  the compressed script, you  have to REPLACE the un-
  compressed script with the compressed  one! The used script MUST exactly named
  "MM:Rexx/MM_StarTrack.rexx", otherwise it will not work!





 4. Usage
 ========

  [RX] MM_StarTrack[.rexx] [CPLCFG]

    CPLCFG  Force MM_StarTrack to re-compile its cfg


  Normally it is used as documented at 3.4.





 5. Configuration
 ================

  MM_StarTrack was originally  desinged for people having one #MAILAREA per net-
  work they have. Therefore I can't guarantee that it will work 100% if you only
  have a single #MAILAREA. I've done my best... Before v0.80, it didn't complain
  if you had  only one #MAILAREA  but some functions like  remapping didn't work
  correct.


  Since 0.80 both methods are possible:

   1. You have one #MAILAREA per network (+ #BADAREA).
   2. You have only one #MAILAREA for all networks you have (+ #BADAREA)

  In any other case, it will refuse to work!


  MM_StarTrack has an advanced  config-reading-mechanism,  which implements your
  config directly to the  script itself. This means once the config is compiled,
  it will need less than one second (A3000 50/50MHz) to read its config!

  Only if you change the  config, it will need a while until all checks are done
  and the config is compiled.

  Please take a close look  in the example config.  To check if it is configured
  correct just start it.



  5.1 #DOMAIN - Domain related settings
  -------------------------------------

    Here you have to set your different networks and related parameters.

    IMPORTANT: You need  one seperate #MAILAREA for every  domain!!! It an error
               is  reported, please  check  your cfg  if the domains  are set up
               correct.



    #DOMAIN     DOMAIN/A,ZONES,ADJUST/S

                  If valid zones  are not set, no  zone<>domain-checking will be
                  done,  otherwise if  Adjust is NOT set, mails  where  the zone
                  does not  match with  the domain  mails will  be treated  like
                  UNKNOWN addresses.
                  MM does a very good job in converting the different addressing
                  -standards  (2-5D) to  the  right  address,  so this  function
                  normally will only sort out wrong real 5D mails.



    Bounce      CROSSNET/S,UNKNDST/S,WRONGADDR/S

                  CrossNet    Bounce also CrossNet-netmails

                  UnknDst     Bounce if destination does not exist

                  WrongAddr   Bounce also mail with incorrect zone<->domain



    CheckEncoded MAXALLOWED/A/N,BOUNCE/S,MOVE/S,SPLIT/S

                  Enable check for encoded mail.

                  This works for every encoded text-block, e.g. uuencoded, mime-
                  coded, pgp, fs-code etc...

                  Bounce      Bounce mail back to the sender

                  Move        Move the mail  to #BADDIR. Otherwise  it will just
                              be deleted.

                  Split       Check if  somebody tries  to send an  encoded file
                              splitted over more mails.



     AllowEncoded(From|To) PATTERNS/M

                  Allow  sending  of encoded  mails,  if one  of the  pattern is
                  matching. E.g. you can set "2:2490/1015.#?@#?" etc...



    CheckFATT   ADJUST/S,NOTIFY/S,PUTONHOLD/S,MOVEBAD/S,MOVEOWN/K/A

                  1. Enable advanced FileATTach-handling. MM itself stops FATT's
                     for  third-parties,  but if MM  does so,  you have  to care
                     about the stopped files. If you  use this, both sides  will
                     be notified about what's going on and the  file will be put
                     on hold if you want this.

                  2. MM_StarTrack  tries to  fix a  problem  caused  by multiple
                     FATT's  with the  same  name. If  possible it  will  try to
                     rename such a file back to the real name.

                  3. It is very common to  send more FATT's  in one msg by using
                     multiple filenames in the  subject. Unfortunatelly  MM does
                     not support this, so such a file can not be routed correct.
                     MM_StarTrack will now check this and generate an additional
                     msg  for  every  multiple  file, so  that  MM can  route it
                     correct.

                  4. If a valid FATT could not be located, MM_StarTrack will in-
                     form the sender about this problem.

                  Adjust     Enable  MM_StarTrack's  filename  adjustment.  This
                             means  if  you  receive   files  named   like  e.g.
                             Test.lha,1  it  tries  to  rename  such  a  file to
                             Test.lha and the *,xx files will  be  deleted.  The
                             only disadvantage of this methode is, that the file
                             will  not be  deleted  when it was  sended  because
                             there could be more msgs belonging to that file.

                  Notify     Notify source & destination about the stopped FATT.

                  PutOnHold  Put  the  file on  hold  for the  destination. This
                             includes "Notify", so don't set them both.

                  MoveBad    Move the FATT-file to MM's #BADDIR.

                  You can set  PutOnHold *OR* MoveBad. If you  don't set  one of
                  these two keywords, the file will simply be deleted.

                  MoveOwn    If  this  is enabled,  MM_StarTrack  will  move all
                   {dir}     files for you to the  specified  directory, so that
                             you can  use your #MAILAREA-(alt-)path as spool-dir
                             for routed files.
                             If MM_StarTrack has  moved a FATT to your Move-Own-
                             dir, this will be  indicated  by a trailing  "!" in
                             the subject-field of the msg.



    CheckLoop     When this keyword  is present,  StarTrack will perform a loop-
                  check on the netmails.
                  It will be checked if a system is listed more than once in the
                  Via's. Multiple via's e.g. added by other trackers will not be
                  detected as a loop of course :-)
                  If a loop-mail was detected,  the sender & the  looping-system
                  will be informed of the error. The  mail from StarTrack to the
                  destination-system will  always  be a  CRASH-mail  to  prevent
                  further problems.



    Delete      EMPTY/S,GOOD/S,OWN/S

                  Empty      Delete empty messages, e.g. from DOS-tickers

                  Good       Delete correct-routed msgs after exporting

                  Own        Delete msgs writen by StarTrack after exporting



    Export      When this  keyword is  given,  the area  will  automatically  be
                exported after  all msgs were  processed. If you use  tools like
                MM_AreaManager  by Frank Schnittger, you must  NOT use this key-
                word because MM_AreaManager also  searches for  intransit mails.
                In that case the mail-areas  will be exported  by these scripts.
                Or even better use MM_ExportPlus to export the queued areas.



    FromAddr    5D_ADDR/A

                  Use this  address  for msgs  created  by MM. If you  have  one
                  #MAILAREA per  network, you  may  set it if you  want to use a
                  different address than the area-base-address. If you only have
                  a single #MAILAREA for all networks you have, you MUST set it!


    LogFile     LOGFILE/A

                  MM_StarTrack will write a little  log for every netmail routed
                  through your  system. If  this parameter is  not given, no log
                  be written.
                  If you place a %d somewhere  in the name, it will  be replaced
                  with the  current  date (YY-MM-DD), so  that  you  are able to
                  create the logs per day.



    LogModes    ALL/S,BAD/S,FLAGS/S,SUBJECT/S,ROUTING/S,VIAADDR/S,VIAALL/S

                  All|Bad     Log ALL routed/processed msgs or only BAD mails

                  Flags       Log also the flags of the msg

                  Routing     Log routing-info  if possible. Currently  you will
                              only see where the  mail came form. Where  it goes
                              to is  currently not  supported by MM, but  I hope
                              Pino will add that soon as promissed ;-)

                  Size        Log also the size of the msg

                  Subject     Log also the subject of the msg

                  ViaAddr|    Log the  addresses of  the via-lines  or even  the
                  ViaAll      complete  Via's to  keep track  of the way the msg
                              goes.


    ReturnReceipt SYSTEM/S,POINTS/S

                  System      Return-Receipt-Requests only if it is directly for
                              this system.

                  Points      RRR also to mails for your points. This is usefull
                              because the  most  (Amiga-)point-programs  do  not
                              support the  sending  of  replies  to  RRR-flagged
                              mails...



    Example:
    --------

     #DOMAIN           AmigaNet    39,40,41   Adjust
     Bounce            UnknDst WrongAddr ; CrossNet
     CheckEncoded      5120 Bounce Move Split
      AllowEncodedFrom 39:171/101.#?@AmigaNet
      AllowEncodedTo   39:101/303.#?@AmigaNet
     CheckFATT         Adjust Notify PutOnHold Out:FileAttachs/
     CheckLoop
     Delete            Good Empty Own
     ;Export
     LogFile           Temp_Logs:NM_AmigaNet.log
     LogModes          All Flags Routing Size Subject ViaAddr
     ReturnReceipt     System Points



  5.2 #BADAREA - Bad netmail area
  -------------------------------

   This is  the area where bad  netmails will be  moved or copied too.  You MUST
   install such an area, otherwise MM_StarTrack is unable to work!

    #BADAREA      AREATAG/A

   If you are  using MM_ImportPlus with a different  #BADDIR than  MM's #BADDIR,
   you have to set  the altpath to the used  #BADDIR, otherwise in *very* *rare*
   situations, a received FATT can not be detected.


   Example:
   --------

    #BADAREA     BAD_NETMAILS



  5.3 #LANGUAGE - Localization
  ----------------------------

   This part controlles the localization of MM_StarTrack.

    #LANGUAGE     LANG_EXT/A,ADDR_PATTERN/A

   The  language-extension will indicate  which  text  will be  used  for  which
   address. No extension  will be used if no  special language  is set. Normally
   the  text-files  in  the Texts-directory  without  extensions  should  be  in
   English.

   The best would be to name  the extenion like used in the echo-areas e.g. GER,
   ITA, DEN, ESP, etc...

   You can use MM-address-patterns so set up your languages.

   It would be very nice to translate new languages for me! If you do so, please
   send them to me, so that the  language can be included in a future release of
   MM_StarTrack.

   If you have other ideas for the text, please also send them to me.


   The texts have to be named like MM:Config/MM_StarTrack/Texts.<ext>/<file>


   Example:
   --------

    #LANGUAGE   GER   2:24#?/#?.#?@#?



  5.4 #(NO)STATISTICS - Statistics managment
  -------------------

   This controlls the statistics of MM_StarTrack. This was necessary, because on
   some systems, MM_StarTrack sometimes was hanging somewhere in "Writing stati-
   stics...". It seems that this is  an ARexx-bug itself because there definitly
   is no error  in MM_StarTrack! It was not  possible to locate  or prevent this
   error...

   If it is working on your system without any problems, keep it on. It does not
   make any big difference, only the writing of the statistics-file is disabled.
   It will not effect the time needed for msg-processing.

   If you have any idea, why this could happen, please netmail me!!!



  5.5 #EXCLUDE[ADDR|NAME|SUBJ] - Excluding msgs form being processed
  ------------------------------------------------------------------

   Here you can set which  addresses,  senders, subjects are excluded from being
   processed.


   5.5.1 Field-specific

    #EXCLUDE(ADDR|NAME|SUBJ) PATTERN/A

    The pattern  is a valid address, name or subject-pattern which will indicate
    the msg as excluded.


    Examples:
    ---------

     #EXCLUDENAME  #?TRACK#?
     #EXCLUDEADDR  2:2490/1015.1@#?
     #EXCLUDESUBJ  #?TEST#?


   5.5.2 Enhanced pattern-matching

    Here you can set a pattern  over nearly all fields  of the msg. Only  if all
    fields do match, the msg will be excluded.

    #EXCLUDE  FROM_PATTERN/A,FROMADDR_PATTERN/A,TO_PATTERN/A,TOADDR_PATTERN/A,
              SUBJ_PATTERN/A


    Example:
    --------

     #EXCLUDE  Robert#?  #?:#?/#?.1@#?  Test1#?  #?:#?/#?.#?@#?  #?TEST#?



  5.6 #EXECUTE[ADDR|NAME|SUBJ] - Execute a command for received netmail
  ---------------------------------------------------------------------

   With this  statement, you can  execute external  commands for  every received
   netmail. Please be carefull if you  use it! If you don't know what you do, it
   might be possible that you'll delete all netmails or all will be excluded, so
   please read this *VERY* *CAREFULL* so that you'll know how to use it!

   I am *not* responsible for any problems caused by using this function!!!

   I've implemented this function to have a better support for external tools
   like an areafix, a ghostwriter or something like that.


   5.6.1 Field-specific

    #EXECUTE(ADDR|NAME|SUBJ) PATTERN/A,COMMAND/A

    The pattern is a valid  address, name or subject-pattern which will indicate
    that a command has to be executed for this mail.


    Examples:
    ---------

     #EXECUTENAME #?AREAFIX#? echo "%a %n %S"
     #EXECUTENAME #Rob#?Hof#? rx MM:Rexx/MM_BackupMsg DELAYED_ANSWERS %a %n


   5.6.2 Enhanced pattern-matching

    Here you can set a pattern  over nearly all fields  of the msg. Only  if all
    fields do match, the defined command will be executed.

     #EXECUTE  FROM_PATTERN/A,FROMADDR_PATTERN/A,TO_PATTERN/A,TOADDR_PATTERN/A,
               SUBJ_PATTERN/A
     Arguments COMMAND/A


    Example:
    --------

     #EXECUTE   Robert#? #?:#?/#?.1@#? Test2#? #?:#?/#?.#?@#? #?TEST#?
     Arguments  echo "Test"


   5.6.3 Embedded %-commands

    Of course must have the  possibility to get  all needed infos to a msg. This
    is possible while using %-commands withing the command-statement.

    You can use the following shortcuts:

     %a       = areaname
     %n       = msg-number

     %cd      = creation date
     %ct      = creation time
     %fa      = from-address
     %ff      = from-firstname
     %fs      = from-surname
     %f       = full fromname
     %F       = msg-flags
     %id      = import date
     %it      = import time
     %sa      = system-address
     %sf      = sysop-firstname
     %ss      = sysop-surname
     %s       = full sysopname
     %S       = subject
     %ta      = to-address
     %tf      = to-firstname
     %ts      = to-surname
     %t       = full to-name
     %T<file> = save the complete msgtext (incl. kludges) to the given file
                Note: *Always* set %T as *LAST* argument!!!


    Examples:
    --------

     rx TestMsg %a %n %fa %Tt:Msg.text
     echo "%a %n %fa" %Tt:Msg.text


   5.6.4 Msg-control

    With the return-code of your command, you can control what will be done with
    the msg. Please be careful with that! Be sure that your prg, script or batch
    -file does exit with a clear defined RC, noramlly 0.

    For MM_StarTrack, you can use the following codes:

     RC = 0  all ok, continue with further checks
     RC = 1  treat the msg as #KILL-mail
     RC = 2  treat the msg as #TWIT-mail
     RC > 2  the mail will be excluded

    E.g. an AreaFix which may take use of this function should return with 5, so
    that the mail will be excluded.



  5.7 #FORWARD[ADDR|NAME|SUBJ] - Forward a received netmail
  ---------------------------------------------------------

   With this  statement, you can forward certain msgs to a  certain person/echo.


   5.7.1 Field-specific

    #FORWARD(ADDR|NAME|SUBJ) PATTERN/A,AREA/K/A,TO/K/A,TOADDR/K,SUBJ/K/A,
                             FLAGS/K,DELORIGMSG

    PATTERN     A valid  address,  name or  subject-pattern  which will indicate
                that the msg has to be forwarded.

    AREA        The area  to forward  the  msg  to.  Use "%ma"  for the  current
                mailarea.

    TO          Name of the receiver.

    TOADDR      Address of the receiver.

    SUBJECT     Subject to use. Shortcuts are possible (see 5.7.3).

    FLAGS       Flags for the msg. See MM.doc/MM_WriteMsg for details.

    DELORIGMSG  Delete the original msg from your mailarea. But be carefull with
                this!!!



    Examples:
    ---------

     #FORWARD   "Joe User" AREA TEST TO All SUBJ "Test FW" FLAGS KILL DELORIGMSG



   5.7.2 Enhanced pattern-matching

    Here you can set  patterns  over nearly all fields  of the msg. Only  if all
    fields do match, the defined command will be executed.

     #FORWARD   FROM_PATTERN/A,FROMADDR_PATTERN/A,TO_PATTERN/A,TOADDR_PATTERN/A,
                SUBJ_PATTERN/A
     Arguments  AREA/K/A,TO/K/A,TOADDR/K,SUBJ/K/A,FLAGS/K/M,DELORIGMSG/S

    Please see 5.7.1 for the description of the "Arguments".


    Example:
    --------

     #FORWARD   GEcho 2:2490/1960.0@FidoNet  #?  2:2490/1015.0@FidoNet Area#?
     Arguments  AREA !AmiSTEP_DOWNLINKS TO Alle SUBJ "Areafix-Antwort von %fa" FLAGS KILL DELORIGMSG


   5.7.3 Embedded %-commands

    Of course must have the  possibility to get  all needed infos to a msg. This
    is possible while using %-commands withing the command-statement.

    You can use the following shortcuts:

     %cd      = creation date
     %ct      = creation time
     %fa      = from-address
     %ff      = from-firstname
     %fs      = from-surname
     %f       = full fromname
     %F       = msg-flags
     %id      = import date
     %it      = import time
     %sa      = system-address
     %sf      = sysop-firstname
     %ss      = sysop-surname
     %s       = full sysopname
     %S       = subject
     %ta      = to-address
     %tf      = to-firstname
     %ts      = to-surname
     %t       = full to-name


  5.8 #KILL[ADDR|NAME|SUBJ] - Killing msgs for your system  *** BE CAREFULL ***
  --------------------------------------------------------

   Here you can  set a kind of  filter for msgs to your  system. Please be  very
   carefull because if the pattern matches the mail will be deleted!!!


   5.8.1 Field-specific

    #KILL(ADDR|NAME|SUBJ) PATTERN/A,BOUNCE/S,MOVE/S

    The pattern is a valid  address, name or subject-pattern which will indicate
    the msg as to kill.

    Bounce   The msg  will be bounced like an undeliverable  mail insted of just
             being deleted.

    Move     the msg to your bad-netmail-area.


    Examples:
    ---------

     #KILLNAME  #?TICK#?
     #KILLADDR  1:234/567.#?@#?
     #KILLSUBJ  #?TEST#?


   5.8.2 Enhanced pattern-matching

    Here you can set a pattern  over nearly all fields  of the msg. Only  if all
    fields do match, the msg will be killed.

     #KILL     FROM_PATTERN/A,FROMADDR_PATTERN/A,TO_PATTERN/A,TOADDR_PATTERN/A,
               SUBJ_PATTERN/A
     Arguments BOUNCE/S,MOVE/S


    Example:
    --------

     #KILL     Robert#?  #?:#?/#?.1@#?  Test2#?  #?:#?/#?.#?@#?  #?TEST#?
     Arguments Move



  5.9. #TWIT[ADDR|NAME|SUBJ] - Twitting msgs
  ------------------------------------------

   Filter  msgs  from routing.  If  twit  is true,  the msg  will be  deleted or
   bounced, depending or your settings.


   5.9.1 Field-specific

    #TWIT(ADDR|NAME|SUBJ) PATTERN/A,BOUNCE/S,MOVE/S

    The pattern is  a valid address, name or subject-pattern which will indicate
    the msg as twitmail.

    Bounce   The msg will be bounced like an undeliverable mail.

    Move     The msg will be moved to the #BADAREA instead of just being deleted


    Note: The Twitfilter is only active for msgs NOT to your system!


    Examples:
    ---------

     #TWITNAME   #?ALLFIX#?         Bounce
     #TWITADDR   2:2490/1018.#?@#?
     #TWITSUBJ   #?TEST#?

     In this  case, e.g.  Areafix-msgs  for  other  systems will  not be  routed
     through my system.


   5.9.2 Enhanced pattern-matching

    Here you can set a pattern  over nearly all fields  of the msg. Only  if all
    fields do match, the msg will be twitted.

    #TWIT     FROM_PATTERN/A,FROMADDR_PATTERN/A,TO_PATTERN/A,TOADDR_PATTERN/A,
              SUBJ_PATTERN/A
    Arguments BOUNCE/S,MOVE/S


    Example:
    --------

     #TWIT     Robert#?  #?:#?/#?.1@#?  Test2#?  #?:#?/#?.#?@#?  #?TEST#?
     Arguments Bounce



  5.10 #REMAP(FROM|TO) - Remapping msgs and/or users
  --------------------------------------------------

   Here you can remap msgs. But be careful! This is a very powerful function, so
   read this part *VERY* *CAREFULLY*!!!


   IMPORTANT NOTE: If you upgrade from a MM_StarTrack-version <0.95, you have to
                   "rx MM_ST_ConvertCfg" because there is a *MAJOR* change up to
                   version >=0.95!!!


   #REMAP(FROM|TO)

   Address  OLD,NEW   OLD  The old from/to-address
                      NEW  The new from/to-address

   Name     OLD,NEW   OLD  The old from/to-name
                      NEW  The new from/to-name

   AddInfo            Add the file Text.Remap{Src|Dst} at the top of the msg.

   Reply              ONLY valid for #REMAPTO!


   You need not use  all these fields. In general, this function  can be divided
   into five parts:

    1. Remap only the name, not depending on the  address. In this  case, do not
       use an 'Address'-statement.

    2. Remap only  the address, not depending  on the name. In this case, do not
       use a 'Name'-statement.

    3. Remap the name depending on the address. In this case, 'Addr OLD' & 'Name
       OLD,NEW' must be set.

    4. Remap  a name to  multiple new  addresses, depending on  the domain. This
       means, check the name  and if it matches, use that new address, where the
       domains are matching. In  this case, you must  set at least  'Name OLD' &
       'Address NEW', where NEW can be '"<addr> [addr] [...]"'. You must not use
       'Address OLD' in this case but you  can use 'Name NEW' to remap the name,
       too.

    5. Remap address & name  to a new address  & name. In  this case  all fields
       have to be used.


   You can use wildcards nearly  *EVERYWHERE*! E.g. you  can remap all msgs from
   "Robert Ho(f|ff)man(n|nn)" to "Robert Hofmann" etc...

   You have to use  5D-addresses only. The  new address may  also contain simple
   wildcards. To make  sure that you use working wildcards, please check  it out
   with  MM_ST_CheckWildcard.rexx  which  you  can  find  in the  rexx-drawer of
   MM_Startrack  (see also 5.10.1). This is  only neccessary if  the new address
   also contains a wildcard.

   The new dest.addr. has to exist or  listed in your #NODEs,  otherwise it will
   be bounced.


   Examples:
   ---------

    #REMAPFROM
    Name       OLD "Joe User"                 NEW "Robert Hofmann"
    AddInfo

    #REMAPFROM
    Address    OLD 2:2490/1015.1@FidoNet      NEW 2:2490/1015.0@FidoNet

    #REMAPTO
    Name       OLD "(Pino|Guiseppe) Aliberti" NEW "Pino Aliberti"
    Address    NEW "2:335/602.2@FidoNet 39:102/10.0@AmigaNet"
    Reply

    #REMAPTO
    Name       OLD "Robert Ho(f|ff)ma(n|nn)"  NEW "Robert Hofmann"
    Address    NEW "2:2490/1015.1@FidoNet 39:171/101.1@AmigaNet"

    #REMAPTO
    Address    OLD 2:2490/11.0@FidoNet
    Name       OLD "GATE"                     NEW "UUCP"

    #REMAPTO
    Name       OLD "Bernd Ernesti"
    Address    NEW 39:173/40.0@AmigaNet
    AddInfo


  5.10.1  Using CheckWildcard
  - - - - - - - - - - - - - -

   CheckWildcard  is  a  small  script  to  test the  wildcard-remap-function of
   MM_StarTrack.

   The usage is very simple:

    [RX] MM_ST_CheckWildcard[.rexx] ADDRESS/A,FROM_PATTERN/A,TO_PATTERN/A

     ADDRESS         the address to be remapped
     FROM_PATTERN    a pattern matching with the address
     TO_PATTERN      a patten for the new address


   If you don't understand what I mean, just try it with

    rx MM_ST_CheckWildcard 39:171/112.7@AmigaNet 39:171/11#?.#?@#? 39:171/61#?.#?@#?



  5.11 Nodelists
  --------------

   5.11.1 #COMPILENL

    The "traplist"-command, distributed with traplist.

    #COMPILENL COMMAND/A

    If MM_StarTrack's  nodelist-check does  fail five times, it  will re-compile
    the nodelists if you set this. See 9. for more infos.


    Example:
    --------

     #COMPILENL traplist mail:traplist.cfg


   5.11.2 #SHOWNL

    The "shownl"-command, distributed with traplist.

    #SHOWNL COMMAND/A

    This is necessary for the %nl command you can use inside the textfiles.


    Example:
    --------

     #SHOWNL TrapDoor:ShowNL



 5.12 #MAILROBOT PATTERN/A
 -------------------------

  Here you have to tell  MM_StarTrack what names are  used by any  kind of mail-
  robot you are using. E.g. Areafixes or something like that.


   Examples:
   ---------

    #MAILROBOT   #?(AreaFix|AreaMgr|AreaManager|MM_AreaManager)#?
    #MAILROBOT   #?(FileFix|Raid|FileScan|AllFix|FileManager|FileMgr)#?





 6. Textfiles
 ============

  The text-files are the files in  MM:Config/MM_StarTrack/Texts[.<LANG>]/#?. You
  can adjust them as you  like, but you should not  change their sense of course
  ;-)

  These files can be localized as described at 5.3.


  In all textfiles, you can use the following embedded %-commands:

    %cd   = creation date
    %ct   = creation time
    %fa   = from-address
    %ff   = from-firstname
    %fs   = from-surname
    %f    = full fromname
    %F    = msg-flags
    %id   = import date
    %it   = import time
    %nl   = used nodelists
    %sa   = system-address
    %sf   = sysop-firstname
    %ss   = sysop-surname
    %s    = full sysopname
    %S    = subject
    %ta   = to-address
    %tf   = to-firstname
    %ts   = to-surname
    %t    = full to-name
    %T    = complete msgtext
    %T<#> = <#> of lines to be forwarded.


  6.1 Bounced
  -----------

   This text will be send  to the source of the msg when  MM_StarTrack detects a
   unknown destination-address.



  6.2 CrossNet_ToDst
  ------------------

   This text will be send to the destination of a cross-net-netmail.



  6.3 CrossNet_ToSrc
  ------------------

   This text will be send to the source of a loop-mail.



  6.4 Encoded
  -----------

   This text will be used for bouncing encoded mails.



  6.5 FATT-Hold_ToDst
  -------------------

   If you have  set  "CheckFATT PutOnHold",  this  text  will  be  send  to  the
   destination.



  6.6 FATT-Hold_ToSrc
  -------------------

   If you have set  "CheckFATT PutOnHold", this text will be send  to the sender
   of the mail.



  6.7 FATT-Killed_ToDst
  ---------------------

   If you have NOT set "CheckFATT PutOnHold", this  text  will be  send  to  the
   destination.



  6.8 FATT-Killed_ToSrc
  ---------------------

   If you have NOT set "CheckFATT PutOnHold", this  text  will be  send  to  the
   destination.



  6.9 Loop_ToDst
  --------------

   This text will be sent CRASH to the msg-destination.



  6.10 Loop_ToLink
  ----------------

   This text will be send to the up/downlink of a detected loopmail.



  6.11 Loop_ToSrc  (Loopmail To Source)
  ---------------

   This text will be send to the source of a cross-net-netmail.



  6.12 Misc  (Misc texts)
  ---------

   Miscellenous texts...

   #SUBJ_BOUNCE_CROSSNET     <Subject for bounced crossnet netmails>

   #SUBJ_BOUNCE_ENCODED      <Subject for bounced encoded  netmails>

   #SUBJ_BOUNCE_KILL         <Subject for bounced killed   netmails>

   #SUBJ_BOUNCE_SPLITENCODED <Subject for bounced splitted encoded  netmails>

   #SUBJ_BOUNCE_TWIT         <Subject for bounced twitted  netmails>

   #SUBJ_BOUNCE_UNKNDST      <Subject for bounced unknown destination netmails>

   #SUBJ_CROSSNET_TODST      <Subject for crossnet netmails, used for writing to
                              the destination system>

   #SUBJ_CROSSNET_TOSRC      <Subject for crossnet netmails, used for writing to
                              the source system>

   #SUBJ_FATT_TOSRC          <Subject for FileAttaches, used  for writing to the
                              source-system>

   #SUBJ_LOOP_TODST          <Subject  for Loop-mails,  used  for writing to the
                              destination system>

   #SUBJ_LOOP_TOLINK         <Subject  for Loop-mails,  used  for writing to the
                              link which causes the loop>

   #SUBJ_LOOP_TOSRC          <Subject  for Loop-mails,  used  for writing to the
                              source-system>

   #SUBJ_NOFATT              <subject for msgs where the FATT-flag  was set, but
                              no file could be found (%fatt = file; %sa = system
                              address>

   #SUBJ_REMAP_REPLY         <Subject for remapping-reply's>

   #SUBJ_RRR                 <Subject for returning receipt-requests>

   #SUBJ_UNKNSRC             <Subject for forwarding Unknown-Source-addresses>



  6.13 Remap_Dst
  --------------

   If configured, this text will be added at the top of a msg when a destination
   -address was changed.

   In addition to the normal embedded %-commands, here you can use

    %n = new address
    %o = old address

   %T is NOT available!



  6.14 Remap_Reply
  ---------------

   If configured, this text will be send  to the source that the msg he has sent
   to somebody was remapped.

   In addition to the normal embedded %-commands, here you can use

     %n = new address
     %o = old address

   %T is NOT available!



  6.15 Remap_Src  (Remap Source)
  --------------

   If  configured, this  text will be added  at the top of a  msg when a source-
   address was changed.

   In addition to the normal embedded %-commands, here you can use

     %n = new address
     %o = old address

   %T is NOT available!



  6.16 ReturnReceiptRequest  (Return Receipt Request)
  -------------------------

   This  text will be sent as  receipt if the RRR-flag was  set for an  incoming
   msg.



  6.17 Split_Encoded
  ------------------

   This text will be used for bouncing splitted encoded mails.



  6.18 Twit
  ---------

   This text  will be send to the  source of the msg when MM_StarTrack detects a
   twit-mail.



  6.19 Unknown_Source
  -------------------

   Finally when an unknown sourc-address was detected, this text will be used.



  6.20 FATT-Multiple
  ------------------

   This text will be used for a msg generated  by MM_StarTrack to route multiple
   FATT's.



  6.21 FATT-NotFound
  ------------------

   This text will be sent to the sender if  a file for a valid FATT could not be
   found.





 7. Statistics
 =============

  MM_StarTrack also offers  you some statistics about  the processed  mails. You
  can find them in the file MM:Config/MM_StarTrack/MM_StarTrack.Statistics.

  Please  do not  touch the filenote or  delete the file,  because otherwise all
  your statistics will be lost.

  The statistic-informations are stored  in the filenote of the statistics-file.
  Please see also 5.4.


  Example:
  --------

   Netmail-Statistics of MM_StarTrack v0.80:
   =========================================
     (since 01-Jul-1995)


     CrossNet mails ......:     4
     Empty mails .........:    48
     Encoded mails .......:     4
     Excluded mails ......:   695
     Fileattaches ........:     0
     Killed mails ........:     3
     Loop mails ..........:     0
     Twitted mails .......:    50
     Unknown destinations :    59
     Unknown senders .....:    51
     ------------------------------
     Mails with errors etc:   914


     Remapped source-addr :   645
     Remapped dest.-addr .:   552
     Returned receipt's ..:    24
     Nothing to do .......:  1410
     ------------------------------
     Mails without errors :  2631


     ==============================
     Total mails processed:  3365
     Total kbytes routed .: 11081

     Times program used ..:  1004





 8. Message-handling
 ===================

  In  general  MM_StarTrack will  not  change  any mail  (except at  remapping &
  stopping  FATT's), but  forward any  corrupted  mail  (like  mails of  unknown
  senders, twitmails etc.) to the source and/or destination.

  This is done to prevent further complications on other systems.

  In  addition to  that MM_StarTrack  offers  you the  ability to copy/move  bad
  netmails to a special directory, so that you can rescue them if possible.


  MM_StarTrack also supports the REPLYADDR & REPLYTO-kludges, what means that if
  it replies to  a mail containing such  kludges, it will  override  To & ToAddr
  with the ones found in the kludges, and add a "To: ..."-line at the top of the
  reply, e.g.

   @REPLYADDR joe_user@exaple.uucp.addr (Joe User)
   @REPLYTO 1:234/567.0 GATE example.uucp.addr.org

  will set the To-field of the msg to "GATE example.uucp.addr.org", the To-Addr-
  field to  "1:234/567.0@FidoNet"  and will insert a  To-line  at the top of the
  msgtext like "To: joe_user@exaple.uucp.addr (Joe User)".





 9. Additional info's
 ====================

  When started MM_StarTrack will check if your first address configured in MM is
  accessable via the nodelist. If not it will wait 30 seconds, retry until it is
  there. If it is not found after the fifth try MM_StarTrack will try to compile
  the nodelist  (see 5.11). If this  does not solve  the problems, it will break
  with an  error.

  This was  done,  because if you  compile your  nodelist while  MM_StarTrack is
  working (what normally should never happen!!!), every address is unknown which
  causes unnecessary errors and confusion.

  Also due to some unknown  reasons, the "Nodelist  won't open" here  sometimes.
  Don't ask me  why. If this  happens, a compilation of  the nodelist (see  also
  5.11.1) does solve this problem.


  When MM_StarTrack has to  modify a msg, e.g. when  it has to insert  some text
  (#REMAP*: AddInfo), it will  insert a kludge called "@ORIGDATE <original date"
  to "keep" the original date of the msg. This was  done because while editing a
  msg, MM always sets the current  timestamp and does not keep the original one.
  I was not able to convince Pino to keep the original infos of a msg. 8^(


  Also MM_StarTrack inserts a "@ROBOTMAIL"-kludge  to all msgs written by it, to
  indicate that this was a mail done by a mailrobot.





 10. Known Bugs
 ==============

  - None (I hope so :-)





 11. Future
 =========

  Please  report me all bugs  and suggestions, so that  we can develop MM to the
  best FTN-software on the Amiga!





 12. Acknowledgements
 ====================

  Pino Aliberti       For his EXCELLENT MailManager! For implementing nearly all
                      I wanted  (this was  much  work I  think and  delayed  the
                      release of MM  for some  month ;-)) For  our hard but fair
                      fights in MMBETA and at least for  the nice note  about me
                      in the docs 8^))))


  Bernardo Innocenti  For translating the Italian textfiles


  Andreas Netscher    For betatesting and some good suggestions


  Miguel Barnosi      For translating the Spanish textfiles


  Stig Poulsen        For betatesting & translating the Danish textfiles


  Eugene Stepanoff    For translating the Russian textfiles


  Tomasz Nidecki      For translating the Polish textfiles


  Chris Quonoey       For betatesting & very detailed bugreports!


  Helmut Steeg        For his excellent German translation of this doc!


  Erik Boersting      For betatesting & very detailed bugreports!


  Kent Hansen         For betatesting & detailed bugreports!









  _  o         Robert Hofmann         2:2490/1015@FidoNet   37:108/220@TrekNet
 |<)_/#                              39:171/101@AmigaNet   107:1805/230@TrekNet
 TT  <T  robert@next.amistep.osn.de  56:63/201@XNet        213:314/9127@XCessNet

