home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / ntmgrg2.zip / WHATSNEW.100 < prev   
Text File  |  1995-12-22  |  29KB  |  852 lines

  1. ============================================================================
  2.  
  3. NOTE: Because this version of NetMgr is not completely ready yet, I decided
  4.       to let it expire on april 1, 1996.
  5.  
  6.       By then, there will be a new version of the program ready, that can
  7.       be used instead. This expiration date is only of concern for
  8.       unregistered users. For registered users, the program will continue
  9.       to work as usual after the expiration date.
  10.  
  11.       I have decided to do this, because I wanted to share the fixes and
  12.       new features with *all* (existing and potential) users already, even
  13.       though this version is still a gamma.
  14.  
  15. ============================================================================
  16.  
  17.  
  18. beta 1
  19. ------
  20.  
  21. *  Binkley mailpacking had mixed up 'truncate file when sent' and 'delete
  22.    file when sent' actions. The file would be truncated when it should be
  23.    deleted and v.v.
  24.  
  25. *  In mailpackets generated by NetMgr, the date generated would be
  26.    incorrect (NetMgr lived 80 years in the past :-).
  27.  
  28. *  NetMgr would accept '*' as origination address in several actions
  29.    (Packmail, MoveMail, Bounce actions, EchoCopy/Move). This is not
  30.    supported and can lead to problems. NetMgr will now check for this while
  31.    reading the config.
  32.  
  33. *  NetMgr would not recognize certain attributes (like 'file request') in
  34.    Hudson areas.
  35.  
  36. *  More than one EchoCopy action for the same mask would result in addition
  37.    of multiple tearline/origin combinations.
  38.  
  39. *  AddNote and Bounce will not add dashes ('--') and empty lines around
  40.    your text (that is added at the top of the message) anymore. If you want
  41.    it, add it to your own text. If you don't want it, you now finally got
  42.    rid of it :-)
  43.  
  44. *  New Action: Display <line to display>
  45.  
  46.    This one will display a line of text on the screen and in the logfile.
  47.    You can use this to add details about certain actions to the logfile.
  48.    Example:
  49.  
  50.    Mask *, *, Pietje Puk, *, *, *
  51.    Action Display Deleted message to Pietje Puk!
  52.    Action Delete
  53.  
  54.    Whenever this action is executed, the line 'Deleted message to Pietje
  55.    Puk!' will be shown on the screen and added to the logfile. Leading and
  56.    trailing spaces are not touched, the line is displayed exactly as found
  57.    in the config (The first space, between 'Display' and 'Deleted' in this
  58.    case, *does* of course get stripped..).
  59.  
  60.    Please note that some actions prevent NetMgr from looking for more
  61.    actions to perform. Delete is one of them: after a message is deleted,
  62.    there is nothing that can be done with that message anymore and NetMgr
  63.    stops scanning for more actions. (Echo-)move is another example.
  64.  
  65.    Of course, 'Display' is something that *can* be done even after a
  66.    message is deleted, it is an exception to this. But I have not changed
  67.    NetMgr logic yet, keep that in mind.
  68.  
  69.    So this:
  70.  
  71.    Mask *, *, Pietje Puk, *, *, *
  72.    Action Delete
  73.    Action Display Deleted message to Pietje Puk!
  74.  
  75.    Doesn't work, because NetMgr will never get to the 'Display' action.
  76.  
  77.  
  78. beta 2
  79. ------
  80.  
  81. *  EchoCopy/Move now check for an already existing Origin/Tearline and
  82.    strip it off before adding a new and correct Origin line.
  83.  
  84. *  Using multiple actions for one Mask in Squish areas with a 'max msgs'
  85.    limit set could cause trouble. If the first action added a message to
  86.    the area ('bounce' for example), NetMgr would lose it's orientation (due
  87.    to the 'sliding' message numbers) and perform subsequent actions on the
  88.    wrong message. This was particularly good fun for 'Action Delete' and
  89.    similar..
  90.  
  91. *  The 'zone' entries in a message packet header were not correctly filled
  92.    (PackMail, MoveMail).
  93.  
  94. *  NetMgr wouldn't correctly detect a move/copy to the same area. That is
  95.    now properly catched.
  96.  
  97. *  Action Packmail and MoveMail can now have a packet password. Add this as
  98.    an extra parameter (optional), like this:
  99.  
  100.    Action PackMail 2:281/527.0 2:281/500.0 secret
  101.  
  102.    NetMgr will now use 'secret' as password for the packet for 281/500.
  103.  
  104. *  Debug mode would not correctly show the number of the mask that matched
  105.    (was always number 0).
  106.  
  107. *  Cosmetic change VIA lines (pointnumber will be stripped if 0).
  108.  
  109.  
  110. beta 3
  111. ------
  112.  
  113. *  Switched to Watcom for the DOS version.
  114.  
  115. *  Switched to heavily modified message base code (as was also introduced
  116.    in timEd 1.10).
  117.  
  118. *  Added some new attributes to be used:
  119.  
  120.    2 = XX2 : officially unused/reserved
  121.    b = ARQ : is return receipt
  122.    g = CFM : confirm receipt request
  123.    h = LOK : message is locked
  124.    z = ZGT : JAM, zonegate bit
  125.    x = FAX : message is a FAX cover
  126.  
  127. *  Fixed trap that occurred when echocopying empty messages.
  128.  
  129. *  Immediate flavour (used by at least Xenia and McMail) is now supported
  130.    for Binkley style outbound mail packing.
  131.  
  132. *  For JAM areas, NetMgr can now write NETMAIL/ECHOMAIL.JAM. Add the
  133.    keyword 'JAMLOG' to NetMgr.cfg and give the directory to put the files
  134.    in.
  135.    Example:
  136.  
  137.    JamLog c:\fd\msgbase\
  138.  
  139.  
  140. *  Added eXtended Mask (XMASK) capabilities.
  141.  
  142.    XMASKs allow you to specify many more criteria than a standard mask.
  143.    However, they also take a bit more room than a standard mask. They can
  144.    be used together with standard masks (even mixed within the same config).
  145.  
  146.    To define an extended mask, use the XMASK keyword. An XMASK definition
  147.    always starts with this keyword, and always ends with a line with only
  148.    'End' on it. Between these two lines, search criteria are defined.
  149.  
  150.    An example:
  151.  
  152.    Xmask
  153.      from   Gerard van Essen
  154.    End
  155.  
  156.    This defines an XMASK, that looks for messages that are FROM: 'Gerard
  157.    van Essen'.
  158.  
  159.    You can specify more than one criterium. For a message to be a match, it
  160.    must satisfy _all_ requirements that are defined. So, if you have:
  161.  
  162.    Xmask
  163.      from   Gerard van Essen
  164.      to     pietje puk
  165.    End
  166.  
  167.    A message is only a match when it is from 'Gerard van Essen' _and_ to
  168.    'pietje puk'.
  169.  
  170.    The following keywords can be used in an XMASK:
  171.  
  172.    from      - who the message is from
  173.    to        - who the message is to
  174.    subject   - the subject of the message
  175.    attr      - attributes of a message (like +a-p etc, like a standard mask)
  176.    kludge    - a search text to be found in the kludges of a message
  177.    body      - a search text to be found in the body of a message
  178.  
  179.    bodybytes <n> - how many bytes of the message body must be searched to find
  180.                    the string(s) specified to find in the body.
  181.    bodylines <n> - how many lines of the body to search (or actually
  182.                    paragraphs, separated by a CR (ASCII 13, '\r').
  183.  
  184.    orig      - origination address of the message (like 2:281/527.0 - always 4D)
  185.    dest      - destination address of the message (like 2:281/527.0 - always 4D)
  186.  
  187.    olderwritten <n>   - 'Date written' of the message must be older than n days.
  188.    olderprocessed <n> - 'Date processed' of the message must be older than n
  189.                          days (JAM, Squish, SDM).
  190.    olderread <n>      - 'Date msg read by recipient' of the message must be
  191.                          older than n days (JAM only).
  192.  
  193.  
  194.    When searching for a string (from, to, subject, body, kludges), you can
  195.    also enclose a string in either single or double quotes. This gives you
  196.    the opportunity to search for trailing and/or leading spaces.
  197.  
  198.    Even when quotes are used, the ~ (substring) and ! (NOT search) tokens
  199.    are still supported, just like in normal MASKs. These tokens must be
  200.    entered inside the quote, so "~gerard" will look for the substring
  201.    'gerard' to be present anywhere.
  202.  
  203.    Specifying a certain keyword more than once, gives you an AND search. As
  204.    mentioned before, _all_ requirements that are defined must be met. So
  205.    specifying:
  206.  
  207.    Xmask
  208.      body "gerard"
  209.      body "timed"
  210.    End
  211.  
  212.    .. will look for messages that have 'gerard' AND 'timed' in the body.
  213.    However, you can also do an OR search, by specifying more than one
  214.    element on the same line, enclosed in quotes and separated by the OR
  215.    keyword, like this:
  216.  
  217.    Xmask
  218.      body "gerard" OR "timed"
  219.    End
  220.  
  221.    This will look for messages that have 'gerard' in the body, OR that have
  222.    'timed' in the body.
  223.  
  224.    You can also do a similar thing with addresses:
  225.  
  226.    Xmask
  227.      orig 2:*/*.* OR 1:*/*.*
  228.    End
  229.  
  230.    This will look for message originating from either zone 2 or zone 1.
  231.    You can also do an AND search with addresses:
  232.  
  233.    Xmask
  234.      orig 2:*/*.*
  235.      orig !2:281/527.*
  236.    End
  237.  
  238.    This will look for messages originating from zone 2, and NOT from node
  239.    2:281/527 or any of its points.
  240.  
  241.    Finally, for from, to, subject, kludges, body, orig and dest, you can
  242.    also specify a filename as input. The filename must be preceded by a
  243.    '<', like this:
  244.  
  245.    to  <c:\data\names.txt
  246.  
  247.    The file itself should consist of a number of lines, all with one
  248.    string/addrress to look for. If any of the strings/addresses are found,
  249.    this will be considered a match.
  250.    In the case of names.txt, the file could look like this:
  251.  
  252.    -=-
  253.    Areafix
  254.    Areamgr
  255.    SQafix
  256.    -=-
  257.  
  258.    Any message addressed to 'Areafix', OR 'Areamgr' OR 'SQafix' will be a
  259.    match.
  260.    Leading and trailing spaces on a line in the file will be stripped.
  261.    Quotes are not allowed. However, use of the '~' and '!' tokens _is_
  262.    allowed.
  263.  
  264.  
  265.    One or more XMASKs must be combined with one or more actions, just like
  266.    a standard MASK:
  267.  
  268.    XMASK
  269.      from  Gerard van Essen
  270.    End
  271.    Action Delete
  272.  
  273.  
  274.    You can also define an XMASK, give it a name, and use it later on in the
  275.    .cfg file. To define an XMASK, use the 'DefineXmask' keyword:
  276.  
  277.    DefineXmask <mask name>
  278.      ...
  279.      <mask criteria>
  280.      ...
  281.    End
  282.  
  283.    Like this:
  284.  
  285.    DefineXmask personal
  286.       to "Gerard van Essen" OR "gerard van.essen" OR "art" OR "Geer art"
  287.    End
  288.  
  289.    Later on, you can then use the XMASK named personal again:
  290.  
  291.    XMASK personal
  292.    Action Move $c:\mail\personal
  293.  
  294.    Pfffffffff....  I think this more or less explains the new XMASK
  295.    capabilities.
  296.  
  297.  
  298. beta 4
  299. ------
  300.  
  301. * When deleting messages in *.MSG areas, NetMgr will attempt to correct the
  302.   lastread pointer so that it keeps pointing to an existing ('old')
  303.   message.
  304.  
  305.  
  306. * For *.MSG areas, you can now specify the optional 'renum' keyword when
  307.   you define the area using the 'ScanDir' keyword.. After scanning the
  308.   area, NetMgr will then renumber the area (and adjust the lastread pointer
  309.   when necessary).
  310.  
  311.   Example of such a definition:
  312.  
  313.   ScanDir c:\fd\netmail renum
  314.  
  315.  
  316. * TimEd will now by default add an INTL kludge to all newly generated
  317.   netmail (bounce, makemsg).
  318.  
  319.  
  320. * With the action 'FILE', NetMgr would 'eat' characters if a certain line
  321.   was longer than 79 characters and didn't contain any spaces. This is now
  322.   fixed.
  323.  
  324.  
  325. * New keyword: INTLFORCE
  326.   If you add this to your NetMgr.cfg, timEd will _force_ an INTL kludge on
  327.   any netmail it somehow writes (this includes messages touched through a
  328.   REWRITE, COPY/MOVE etc).
  329.  
  330.  
  331. * Fixed a problem for UUCPREWRITE on messages generated by Maximus (which
  332.   have a trailing ^A in their kludges).
  333.  
  334.  
  335. * For the Actions 'Forward' and 'MakeMsg' the header (that is: from, to,
  336.   subject, destination address, origination address and attributes) will
  337.   be initialized with the contents of the original message.
  338.  
  339.   Putting a '*' in fields of the Masks for the Forward and MakeMsg actions
  340.   will, as a result, produce the contents of the original message.
  341.  
  342.   An example:
  343.  
  344.   Action Forward *, *, Kasper Kwant, 2:500/144.0, *, +l+c
  345.  
  346.   A message like this:
  347.  
  348.   From: Gerard, 2:281/527
  349.   To  : SysOp,  1:138/211
  350.   Subj: Test!
  351.   Attr: -
  352.   ----------------------------------
  353.  
  354.   Will produce a message like this:
  355.  
  356.  
  357.   From: Gerard, 2:281/527
  358.   To  : Kasper Kwant, 2:500/144
  359.   Subj: Test!
  360.   Attr: Loc, Cra
  361.   ----------------------------------
  362.   * Forwarded by NetMgr+ 1.00.g2
  363.  
  364.   Original message:
  365.   From:
  366.   To  :           <--- header of original message.
  367.   Subj:
  368.   ----------------
  369.   Bla, bla        <--- body of original message.
  370.  
  371.  
  372. * {+} The BOUNCE, HDRBOUNCE and EMPTYBOUNCE Actions have 'extended'
  373.   counterparts: XBOUNCE, XHDRBOUNCE and XEMPTYBOUNCE.
  374.  
  375.   The format:
  376.   XBOUNCE <textfile for bouncetext> <full mask to use>
  377.  
  378.   The first parameter is the textfile to add at the top of the bounce
  379.   message.
  380.   The second parameter is the mask to use for the bounce message. You can
  381.   specify a "*" for the fields you want the default to be used.
  382.  
  383.   By default, NetMgr generates a full 'reply header' with the to: and from:
  384.   names and addresses reversed (compared to the original message) and the
  385.   same attributes and subject.
  386.  
  387.   For example, for this message:
  388.  
  389.   From: Gerard, 1:1/1
  390.   To  : SysOp,  1:138/211
  391.   Subj: Test!
  392.   Attr: Pvt Cra
  393.   ----------------------------------
  394.  
  395.   The standard reply header is:
  396.  
  397.   From: SysOp,  1:138/211
  398.   To  : Gerard, 1:1/1
  399.   Subj: Test!
  400.   Attr: Pvt Cra
  401.   ----------------------------------
  402.  
  403.   And that will be the result if you specify a mask like:
  404.  
  405.   Action XBounce c:\txt\bounce.txt *, *, *, *, *, *
  406.  
  407.   However, if you make it:
  408.  
  409.   Action XBounce c:\txt\bounce.txt The Bodyguard, 2:281/527.0, *, *, *, +l
  410.  
  411.   The result would be:
  412.  
  413.   From: The Bodyguard,  2:281/527
  414.   To  : Gerard,         1:1/1
  415.   Subj: Test!
  416.   Attr: Loc
  417.   ----------------------------------
  418.  
  419.   The extended bounce actions are only available to registered users.
  420.  
  421.  
  422. * {+} The BOUNCE and XBOUNCE actions can now use variables in the textfiles
  423.   that can be inserted at the top of the message.
  424.  
  425.   For a BOUNCE action like...
  426.  
  427.   Action Bounce 2:281/527.0 c:\txt\bounce.txt
  428.  
  429.   .. this is the file c:\txt\bounce.txt.
  430.  
  431.   These variables will be expanded using the contents of the message-header
  432.   of the message you are bouncing. This gives you the opportunity to make
  433.   the messages a bit more 'personal'.
  434.  
  435.   In the file, the use of the following variables is now allowed:
  436.  
  437.   %to    :    The full name of the person that the the original message was
  438.               addressed to.
  439.  
  440.   %fto   :    As %to, but only the first name of that person.
  441.  
  442.   %from  :    The full name of the person who wrote the original message.
  443.  
  444.   %ffrom :    As %from, but only the first name of that person.
  445.  
  446.   %subj  :    Subject of the original message.
  447.  
  448.   %orig  :    Address of the sender of the message (like
  449.               2:281/527)
  450.  
  451.   %dest  :    Address of the recipient of the message
  452.               (like 2:281/527)
  453.  
  454.   %time  :    Time the message was written (like 01:25)
  455.   %year  :    The year the message was written (like 1993)
  456.   %mon   :    The month the message was written (like jan,
  457.               feb etc)
  458.   %day   :    The day of the month msg was written (a
  459.               number)
  460.   %dow   :    The 'day of week' msg was written (like mon,
  461.               tue, wed etc)
  462.  
  463.   So, the contents of the bounce file could be:
  464.  
  465.   -=-
  466.  
  467.   Hello %ffrom!
  468.  
  469.   You sent a message to %to (%dest), dated %mon %day, %year.
  470.   The subject was: "%subj".
  471.  
  472.   -=-
  473.  
  474.   These variables can only be used by registered users of NetMgr.
  475.  
  476.  
  477. * PackMail and MoveMail will now add FMPT/TOPT kludges at the very start of
  478.   the kludges, instead of at the end. This seems to prevent problems at
  479.   Frodo systems that didn't correctly recognize file attaches addressed to
  480.   points in some cases.
  481.  
  482.  
  483. * New Action: DeleteAttach
  484.  
  485.   This action will not only delete the message, but it will also look at
  486.   any attached files. When the 'Truncate when sent' flag is present on the
  487.   message, the file(s) will be truncated. When the 'Kill file when sent'
  488.   flag is present, the attached file(s) will be deleted.
  489.  
  490.  
  491. * New Action: ChangePathMove <new path>
  492.  
  493.   This works exactly like 'ChangePath', but it also moves the attached
  494.   file(s) to the new directory.
  495.  
  496.  
  497. * Added the possibility to post files in a message from the command line.
  498.  
  499.   In order to do this, use the POST command on the commandline.
  500.  
  501.   To do a post, you first need to define an XMASK with DefineXMask in
  502.   NetMgr.cfg. In that mask, specify "from", "to", "subject", and "orig" for
  503.   echomail messages. For netmail messages, you need to add "dest" as well.
  504.   Adding 'attr' is allowed, but not required. If you don't specify any
  505.   attributes, NetMgr will default to (only) the 'local' attribute.
  506.  
  507.   When generating the message, NetMgr will use the info in this XMASK to
  508.   generate the header for the message.
  509.  
  510.   On the command line, you specify which xmask to use, what file to use as
  511.   body, the area to post in, and whether or not the area is an echomail
  512.   area. To do this, the following command line options are available:
  513.  
  514.   -x : specify XMASK to use
  515.   -a : specify area to use (use leading !, # or $ to indicate msgbase format)
  516.   -e : specified area is an echomail area
  517.   -f : ASCII file to use as body for the message
  518.  
  519.   Full example:
  520.  
  521.   Provided the following XMASK is defined in NetMgr.cfg:
  522.  
  523.   DefineXmask netpost
  524.  
  525.      from    Gerard van Essen
  526.      to      NetMgr User
  527.      subject Answer to your query
  528.      orig    2:281/527.0
  529.      dest    2:2/0.0
  530.  
  531.   End
  532.  
  533.   The following command line...
  534.  
  535.   NetMgr POST -xnetpost -a$c:\fd\netmail -fc:\txt\canned.rep
  536.  
  537.   ... would generate a new netmail message in the Squish style area
  538.   'c:\fd\netmail', with the header specified (i.e.: to 'NetMgr User', from
  539.   'Gerard van Essen' etc), and with the textfile 'c:\txt\canned.rep' as
  540.   the body.
  541.  
  542.   NetMgr will start up, read the config, open the area, post the message,
  543.   and then exit immediately (without scanning the netmail area as is
  544.   normally done).
  545.  
  546.  
  547.   Provided the following XMASK is defined in NetMgr.cfg:
  548.  
  549.   DefineXmask rules
  550.  
  551.      from    Moderator
  552.      to      All
  553.      subject The monthly rules
  554.      orig    2:281/527.0
  555.  
  556.   End
  557.  
  558.   The following command line...
  559.  
  560.   NetMgr POST -xrules -a!c:\echo\artware -fc:\txt\artware.rul -e
  561.  
  562.   ... would generate a new echomail message in the JAM style area
  563.   'c:\echo\artware', with the header specified (i.e.: to 'All', from
  564.   'Moderator' etc), and with the textfile 'c:\txt\artware.rul' as the body.
  565.  
  566.  
  567. * Added some outbound management capabilities, usable from the command
  568.   line. You can use one of the following commands on the command line:
  569.  
  570.   ■ POLL   : create a poll packet for a certain node.
  571.   ■ GET    : create a filerequest for a certain node.
  572.   ■ UPDATE : create an update request for a certain node.
  573.   ■ SEND   : create a file attach for a certain node.
  574.   ■ CHANGE : change mail status for mail waiting for a certain node.
  575.  
  576.   To support this, the following command line options are used:
  577.  
  578.   -s  : Status (also called 'flavour') of request/attach.
  579.   -n  : New status for mail (used for 'CHANGE').
  580.   -p  : Password to use for file request.
  581.   -#  : Node address of node to request files from / send files to.
  582.   -f  : File to send/request.
  583.  
  584.   The 'POLL'   command needs: -# and -s.
  585.   The 'GET'    command needs: -#, -f and -s (optional: -p).
  586.   The 'UPDATE' command needs: -#, -f and -s (optional: -p).
  587.   The 'SEND'   command needs: -#, -f and -s.
  588.   The 'CHANGE' command needs: -#, -s and -n.
  589.  
  590.   For the '-s' and '-n' options, the following flavours can be used:
  591.   normal, crash, imm, hold, dir.
  592.  
  593.   Examples:
  594.  
  595.   NetMgr POLL -#2:281/527 -scrash
  596.  
  597.   Poll node 2:281/527, crash status.
  598.  
  599.  
  600.   NetMgr GET -#2:500/133 -fnewfiles -shold -psecret
  601.  
  602.   Request from node 2:500/133, with 'hold' status, the file 'NEWFILES' and
  603.   use 'secret' as password for this request.
  604.  
  605.  
  606.   NetMgr SEND -fc:\autoexec.bat -simm -#1:138/211
  607.  
  608.   Attach the file c:\autoexec.bat, with 'immediate' status, to 1:138/211.
  609.  
  610.  
  611.   NetMgr CHANGE -snormal -ncrash -#2:281/527.5
  612.  
  613.   Change the flavour of all mail destined for 2:281/527.5 flavoured
  614.   'normal' to a new flavour of 'crash'.
  615.  
  616.  
  617.   For any of the above to work, you need to have the 'OutBound' keyword
  618.   defined in NetMgr.cfg.
  619.  
  620.  
  621. * NetMgr now has AKAmatching capabilities, that can be used in several
  622.   places.
  623.  
  624.   In order to let NetMgr do this, add all the addresses you might want to
  625.   use to NetMgr.cfg (multiple 'homeaddress' statements are now allowed).
  626.   By default, NetMgr can do the matching for you without any further info.
  627.  
  628.   This option is interesting if you have more than 1 address.
  629.   NetMgr can then be ordered to find the most appropriate address to use
  630.   when writing a message.
  631.  
  632.   Say, for example, that you have two addresses: 2:281/527 and
  633.   60:100/112.
  634.  
  635.   If you write a messages to 2:500/133, you probably want to use
  636.   your 2:281/527 address.
  637.   If you write a message to 60:100/1, you probably want to use
  638.   your 60:100/112 address.
  639.  
  640.   In this case, NetMgr would try to find the address (AKA) that 'matches'
  641.   the destination address best.
  642.  
  643.   It first looks for a matching zone, and if more than one match
  644.   is found, it'll try to find an address where both 'zone' and
  645.   'net' match. If there is still more than one match after that,
  646.   it will just take the first match.
  647.  
  648.   If you want to make exceptions to these matching rules, or if you want to
  649.   do AKAmatching _within_ a certain net, you can force NetMgr to use
  650.   certain AKA by using the AKAFORCE keyword in NetMgr.cfg:
  651.  
  652.   Format:
  653.  
  654.   AKAFORCE <mask> <address to use>
  655.  
  656.   example:
  657.  
  658.   AKAFORCE 50:*/*.* 49:500/1
  659.  
  660.   This means: always use 49:500/1 as address when mail is sent to any zone
  661.   50 address. This forcing will take precedence over 'automatic'
  662.   akamatching.
  663.  
  664.   Where does it work?
  665.  
  666.   First of all, NetMgr can now pick the correct AKA to use when generating
  667.   a new message using one of the BOUNCE, XBOUNCE, MakeMsg or Forward
  668.   actions.
  669.  
  670.   In order to let NetMgr pick an appropriate address, use '@myaka' instead
  671.   of a 4D address. For example:
  672.  
  673.   Action Bounce @myaka c:\txt\bounce.txt
  674.  
  675.   Or:
  676.  
  677.   Action Xbounce c:\txt\bounce.txt The Bouncer, @myaka, *, *, Go away!, *
  678.  
  679.   You can also use the AKA matching with REWRITE. This is probably only
  680.   useful when you are currently using NetMgr already to do AKAmatching with
  681.   several masks. You may now be able to do it with one mask/action:
  682.  
  683.   Mask Gerard van Essen, *, *, *, *, +l
  684.   Action Rewrite *, @myaka, *, *, *, *
  685.  
  686.  
  687.   Finally, you can also use it for the PackMail and MoveMail actions, for
  688.   the origination address:
  689.  
  690.   Action PackMail @myaka *
  691.  
  692.   This will pack all mail directly to their destination, and use a matching
  693.   AKA in the packet header as origination address. Please note that this
  694.   (obviously!) does not have any effect on the addresses used within the
  695.   packed messages! Only the packet header is affected by this!
  696.  
  697.  
  698. beta 5
  699. ------
  700.  
  701. * Added the ability to run external programs from NetMgr.
  702.  
  703.   The action to use for this is RUNEXTERNAL.
  704.   Format:
  705.  
  706.   RUNEXTERNAL <program to use> <parameters>.
  707.  
  708.   In the <paramaters> part, you can make use of several 'variables', whose
  709.   value depends on the contents of the header of the message that triggered
  710.   the action. The following variables are available:
  711.  
  712.   from       - Name in the 'from' field of current message.
  713.   to         -             'to'
  714.   subject    -             'subject'
  715.   orig       - Origination address of current message (like 2:281/527).
  716.   dest       - Destination address of current message (like 2:281/527).
  717.   areadir    - Directory or base name of current area, board number if
  718.                Hudson. This is in the format that is also used in
  719.                NetMgr.cfg, so $<path+basename> for a Squish area,
  720.                !<path+basename> for a JAM area etc.
  721.   msgno      - Message number of current message ('relative' number for
  722.                Squish and Hudson)
  723.   realmsgno  - Real message number, for Squish (UMSGID) and Hudson (real
  724.                number in Hudson base, not the relative number in the area).
  725.                For JAM and *.MSG, this is always equal to msgno.
  726.   file       - Name of the file that contains the body of the message.
  727.   newfile    - Name of a new file to create if you want to replace the body
  728.                of the message with new text.
  729.   repfile    - Name of the file that should be created if you want to send
  730.                a message back to the sender of the message. (See below).
  731.   attach     - Files attached to this message (list of files).
  732.   request    - Files requested in this message (list of files [!passwords]).
  733.  
  734.   (But then on one line, evidently).
  735.  
  736.   Before running the external program, NetMgr will write the body of the
  737.   message to a file. This file (and other files) will be created in the
  738.   directory where NetMgr found it's config file. The path+name of this file
  739.   is available through the variable [file]. It will be:
  740.   "<path to config file>\netmsg.msg".
  741.  
  742.   NetMgr will then run the external program, and check for the existence of
  743.   two files:
  744.  
  745.   ■  "<path to config file>\netmsg.new" : if this file exists, NetMgr will
  746.      replace the body of the message with the contents of this file. The
  747.      path+name of this variable is available through the variable
  748.      [newfile].
  749.  
  750.   ■  "<path to config file>\netmsg.rep": if this file exists, NetMgr will
  751.      send a message back to the sender of the message that triggered this
  752.      action.
  753.      What is actually done, is an XEMPTYBOUNCE action. For this action, the
  754.      netmsg.rep file is used as the body (where the variables like [from],
  755.      [to] etc. can be used), but where the first line of this .rep file is
  756.      used as the 'mask' for the reply header.
  757.      Because it actually _is_ an XEMPTYBOUNCE, it also follows the same
  758.      conventions as the XEMPTYBOUNCE action, so it initializes the fields
  759.      with a standard reply header, which makes it possible to use a simple
  760.      '*, *, *, *, *, *' mask (see XEMPTYBOUNCE action for more info).
  761.      The path+name of this variable is available through the variable
  762.      [repfile].
  763.  
  764.   An example:
  765.  
  766.   Action RUNEXTERNAL pgp.exe +batchmode -sta -u art -o [newfile] -z pass [file]
  767.  
  768.   could expand to:
  769.  
  770.   'pgp.exe +batchmode -sta -u art -o c:\net\netmsg.new -z pass
  771.                                                             c:\netmgr\net.msg'
  772.  
  773.   This would run PGP on the message, and sign the text. The body of the
  774.   message will be replaced with a signed version of the text.
  775.  
  776.   An example of usage of a .rep file could be:
  777.  
  778.   Action RUNEXTERNAL reply.cmd [repfile]
  779.  
  780.   And the contents of 'reply.cmd' could be:
  781.  
  782.   @echo off
  783.   echo Automatic Reply, @myaka, *, *, Response to your message, * >> %1
  784.   echo Hello %%ffrom! >> %1
  785.   echo. >> %1
  786.   echo This is an automatic reply! >> %1
  787.   echo. >> %1
  788.   echo Greetings! >> %1
  789.  
  790.   This would create a netmsg.rep file, and NetMgr would send back a small
  791.   message to the sender of the original message.
  792.  
  793.  
  794. * Several actions have a similar counterpart, that can place the resulting
  795.   message in another area.
  796.   The actions concerned are: the Bounce and XBounce 'family', Forward and
  797.   MakeMsg. In order to place the resulting message in another area, add
  798.   'IN' to the action name (to make BOUNCEIN, XBOUNCEIN, XEMPTYBOUNCEIN,
  799.   FORWARDIN etc), and add the path/name of the area to put the message in.
  800.  
  801.   Some examples:
  802.  
  803.   Action XBOUNCEIN $d:\msg\net bounce.txt The Bouncer, @myaka, *, *, *, +l
  804.  
  805.   This will create a bounce message in the Squish area d:\msg\net.
  806.  
  807.   Action FORWARDIN !c:\msgbase\netmail *, *, Pietje Puk, 2:2/2.0, *, +l
  808.  
  809.   This will forward a message to 'Pietje Puk (2:2/0)' in the JAM style area
  810.   c:\msgbase\netmail.
  811.  
  812.  
  813. beta 6
  814. ------
  815.  
  816. * The 'dest' keyword in XMASKs didn't work (at all).
  817.  
  818. * NetMgr stripped the already existing trailing VIA lines when packing mail
  819.   (it just added it's own :-)
  820.  
  821. * NetMgr now also allows the OR construction for attributes. So something
  822.   like this is now also possible:
  823.  
  824.   XMASK
  825.       From Gerard van Essen
  826.       Orig 2:281/527.0
  827.       Attr +c OR +a+l OR +f-c
  828.   END
  829.  
  830.   This mask will match for messages that are flavoured crash, or are
  831.   flavoured 'attach' and 'local', or flavoured 'request' but NOT crash.
  832.  
  833.   Please note that this construction is not valid for the attributes that
  834.   need to search the nodelist (# and @). You can specify these attributes
  835.   like this, but they are checked once, separately from the other
  836.   attributes.
  837.   So you cannot specify:
  838.  
  839.   Attr +c-@ OR -c+@
  840.  
  841.   or something similar. You can only specify these attributes once and they
  842.   will then be carried over to all other attribute masks. In other words,
  843.   specifying this:
  844.  
  845.   Attr +c-@ OR +l
  846.  
  847.   will actually be expanded to:
  848.  
  849.   Attr +c-@ OR +l-@
  850.  
  851.  
  852.