
            DataEnter, Michael Kocum
            Taborstrasse 27/23
            A-1020 Vienna
            AUSTRIA

        CIS: 70143,1667
        MHS: MICHAEL @ DEMK (via CSERVE)
   Internet: michael@demk.co.at
        Fax: +43/1/2143829





Introduction to MailRed
------------------------

MailRed is a addon for Microsoft Mail, Windows for Workgroups and Win95.

Its purpose is to redirect messages from a mailbox to another address.
MailRed preserves the senders address and is fully message driven. Once
installed users can start and stop redirection by simply sending
messages with commands to MailRed. Also included is a Windows Client
(MRClient.EXE) which is a simple point and click interface to MailRed.


Some suggestion what you can do:

-Redirect mail from the Admin mailbox to a real user

-Redirect mail for a out of office user to another person

-Redirect mail from a virtual mailbox like "Sales" or "Support" to
 a human person

-Redirect mail for a user to his/her Compuserve account
 (MHS Gateway required)

-Redirect mail for a user to a fax
 (FAX Gateway required)



System Requirements
-------------------
  DOS 3.3 or higher
  Microsoft Mail, v3.0 or above OR
  Windows for Workgroups, v3.1 or above
  1 MB of free XMS or DPMI memory
  XMS manager (HIMEM.SYS) or DPMI available



Installation
------------

   1) MailRed does in fact two things:
      First it redirects mail from one mailbox to another address, where
      the address can be another mailbox or any valid MS Mail address.
      To do this, MailRed logs into MSMail as the mailbox and resends
      the mail to the redirection address.

      Second it processes script files that users sent to MailRed and
      builds a routing table, so that MailRed knows which mailbox to
      check and to whom it should redirect the messages.

      MailRed need also a person which is responsible for the correct
      working of MailRed. Any time MailRed processes a script or when
      MailRed detects an error, it sends a message to this person.
      The address of this person is located in the INI file under
      "Admin". This is not the same as "Admin" in your MS Mail
      enviroment and in fact it should be a real human person.


   2) MailRed requires a single user mailbox with admin right on your
      Microsoft Mail system in order to work with Microsoft Mail. You
      have to create this mailbox before installing MailRed. On a
      Microsoft Mail Postoffice this is done via ADMIN.EXE.

      MailRed need this mailbox for communcation with the users in your
      postoffice and it send the redirected mail over this mailbox.

      We suggest, that you use "MailRed" as the mailbox name and
      "MailRed" as the alias.

      Note: No other person should use this mailbox!!!
            Do not use the real Admin's mailbox for this purpose,
            because MailRed seams to work, but in fact it does not work.


   3) Create a directory on your server and copy MailRed.EXE,
      MailRed.INI, APPGET.EXE, APPPUT.EXE and GTWPut.EXE into this
      directory. We suggest that you make a directory called MailRed
      below your MAILEXE, so its clear that MailRed belongs to MS Mail.



   4) Edit MailRed.INI and change the configuration so that it will fit
      your needs.

      MailFax.INI is plain ASCII file where each option is in a different
      line. Its almost like a WIN.INI.


      The options are:
      ----------------

      MailDrive=<drive>           <drive> is the drive where your mail
                                  database is located. If you have more
                                  than one postoffice, add a line for
                                  every postoffice. The first line had
                                  to be the drive where MailRed's
                                  mailbox is located. (The one you
                                  created in step 2)

                                  <drive> can also be the full path to
                                  mail database with a trailing
                                  backslash like M:\MAILDATA\


      MailBox=<mailbox>           <mailbox> is the mailbox which MailRed
                                  should use. Its the mailbox you
                                  created in step 2.

      Password=<password>         <password> is the password of the
                                  mailbox you created in step 2.

      Admin=<MSAddress>           <MSAddress> is the full MS Adress of
                                  MailRed's Admin. MailRed will send
                                  error reports (mostly attempts with a
                                  wrong passwords) to this address. A
                                  sample address will be:
                                  YOURNETWORK/YOURPOSTOFFICE/YOURNAME

      HelpFile=<file>             <file> is the file which MailRed sends
                                  to the user if it receives a message
                                  with HELP in the subject or body of
                                  the message.

      WriteLogFile=<logical>      If <logical> is True, MailRed will
                                  write a log file called MailRed.LOG.

      Language=<language>         If <language> is ENG, MailRed uses
                                  English for all its messages and log
                                  files.

                                  If <language> is DEU, MailRed uses
                                  German for all its messages and log
                                  files.

      DetectInfiniteLoop=<logical> If <logical> is True, MailRed will
                                  check each redirection for an infinite
                                  loop and will send a message to Admin
                                  if it detects one. A infinite loop is
                                  when "A" redirects to "B", "B"
                                  redirects to "C" and "C" redirects
                                  back to "A". Without detecting the
                                  infinite loop, MailRed would redirect
                                  every message from "A" to "B", then to
                                  "C" and then back to "A", which
                                  results in a lot of network traffic
                                  and fills the mailbox if the keep
                                  option is activated. Note: MailRed
                                  checks only for a postoffice address,
                                  not for gateway address. So it would
                                  not detect infinite loops when a
                                  gateway is involved.

      RedirToSender=<logical>     If <logical> is False, MailRed will
                                  check if the sender address is equal
                                  the redirection address. If so,
                                  MailRed will not redirect the messages
                                  and keeps a copy of the message in the
                                  mailbox, even when message keep is not
                                  enabled.

      DestroyMailHeader=<logical> If <logical> is True, MailRed will not
                                  redirect the header of a message.

                                  The header is the first part of the
                                  message text which describes the
                                  routing information about the message
                                  (From,To,CC).

                                  Usualy you see this header only in
                                  the DOS Client of MSMail. The Windows
                                  Client of MSMail destroys the header.


      AddRedirHeader=<logical>    If <logical> is True, MailRed will add
                                  a short header to every redirected
                                  message, so that the recipient knows
                                  from which address this message was
                                  redirected.


      StatusAllAsFile=<logical>   If <logical> is True, MailRed will
                                  convert STATUS ALL messages to a file
                                  and send it as an attachment.

                                  If <logical> is False, MailRed will
                                  send it as note text.


      ExcludeGateway=<gateway>    <gateway> is given, MailRed will
                                  not redirect any messages to this
                                  gateway.

                                  For every gateway you want to exclude
                                  add one line. Assume you want to
                                  exclude your Fax, your MHS and your
                                  SMTP gateway, add three lines, each
                                  with the gateway you want to exclude,
                                  like:

                                  ExcludeGateway=FAX
                                  ExcludeGateway=MHS
                                  ExcludeGateway=SMTP




      Sample MailRed.INI:
      -------------------

         MailDrive=M
         MailBox=MailRed
         Password=password
         HelpFile=MailRed.Hlp
         Admin=NETWORK/POSTOFFICE/RICK
         WriteLogFile=True


   5) Edit MailRed.HPL so that it will fit your needs. It lists all
      valid keywords that MailRed accepts. You can translate it to your
      language, als long as the keywords are in English.


      Sample MailRed.HLP:
      -------------------

      ;MailRed Help File:
      ;
      ;Valid keywords are:
      ;
      ;HELP       Send this file
      ;ADDRESS    Your mail address (optional)
      ;PASSWORD   Password for mailbox above (optional)
      ;REDIR      Destination address
      ;START      Start redirection (optional a date and time)
      ;STOP       Stop redirection  (optional a date and time)
      ;KEEP       Keep message in mailbox after redirecting
      ;DESTROY    Destroy message in mailbox after redirecting
      ;DELETE     Delete address
      ;STATUS     Send a status sheet
      ;STATUS ALL Send a status sheet for all users
      ;
      ;Note: A line starting with a ; is a comment and is ignored.
      ;


   6) Start MailRed and check if there is any error message.

   7) Start MRClient and log in using your mailbox an send a message to
      MailRed (to the mailbox you created in step 2).

      Check the checkbox "Require status sheet about the state of all
      redirections" and send the message.

      Start MailRed and it should send you back a status sheet, which
      is empty because you have not redirections yet.

      If you got the status sheet, everthing is ok and shoud work as
      expected.


Using Redirection:
------------------

General note: Below you will find the documataion about the commands you
              can send to MailRed.
              In general, it's the best to use MRClient, which gives you
              an easy point and click interface and writes the message
              for you.

              Take a look at the "Using MRClient" section below.


Let's assume the name of your network is NETWORK and the name of
postoffice is POSTOFFICE and your name is RICK, so your address will be
NETWORK/POSTOFFICE/RICK. Note the forward slash between network and
postoffice and name. Don't use a back slash or you will get no result.

Let's further assume you want to redirect your mail to ANN.

To start redirection send a message to MailRed with the following
lines in the body of the message:

REDIR      NETWORK/POSTOFFICE/ANN
START
KEEP

The line with REDIR is the redirection address and START means "start
redirecting now" and KEEP means that MailRed shoud keep the messages
(not deleting) after forwarding. After MailRed got your message, it
processes the keywords and save the data into its database. MailRed then
sends you a confirmation so that its clear to you what MailRed has done.

To stop redirection send a message to MailRed with the line
STOP
in the body of the message.

MailRed will stop redirection, but will save the rediretion address for
the next start command.


You can also redirect another mailbox to an address. This is usefull for
virtual mailboxes like "Sales".

To redirect SALES to ANN send the following messages:

ADDRESS    NETWORK/POSTOFFICE/SALES
PASSWORD   PASSWORD
REDIR      NETWORK/POSTOFFICE/ANN
START      1995-06-13 13:00

The line ADDRESS is the address of the sales mailbox, the one with
PASSWORD is the password of the sales mailbox (not your password), the
line with REDIR is the redirection address and START means "start
redirecting on 06/13/95 at 1:00pm" and due the missing of the KEEP
command MailRed will delete the message after redirecting.


Using Status:
-------------

When you want to know what rediretions are active, simply send a message
with the following line:
STATUS
or if you want to know all redirections MailRed knows about send
STATUS ALL
MailRed will mail you back a list of redirection(s).


Using Delete:
-------------

DELETE is used to delete a user from MailRed database, mostly because
you deleted the mailbox with ADMIN.EXE and your want to remove the
mailbox from MailRed also.



Polling
-------

In order to work, MailRed has to poll MS Mail for messages from time to
time. This can be done in a lot of different ways:

1) If you have Microsoft Mail Postoffice than you may have a maschine
   which runs EXTERNAL.EXE. You can put MailRed in a loop with External
   and so MailRed will be called periodic.

   A sample batch file may look like:

   @echo off
   :Start

      REM Change to MailRed directory
      cd MailRed

      REM Execute MailRed
      MailRed

      REM Change back to directory where External is located
      cd ..

      REM Call External for 15 minutes
      external -BR0:0:15

      REM Check Externals errorlevel to find out if the
      REM operator pressed  ESC
      if errorlevel 66 goto End
      if errorlevel 63 goto Start
      if errorlevel 62 goto End
   :End


2) You can also run MailRed in the background of Windows. You can
   request a special programm, MAILWAIT.EXE, for free for this porpose.
   MailWait accepts one argument and this is the time to wait in
   seconds. MailWait is designed so that it releases all recources to
   Windows and runs smoothly in the background.
   It's a good idea to
   create an icon for the batch file

   A sample batch file may look like:

   @echo off
   :Start
      REM Execute MailRed
      MailRed

      REM Call MailWait for 900 seconds (= 15 minutes)
      MailWait 900

      REM Check MailWaits errorlevel to find out if the
      REM operator pressed  ESC
      if errorlevel 1 goto End
      goto Start
   :End

   It's a good idea to create an icon for the batch file and put that
   icon in your startup folder.

   Note: Make sure your _default.pif has background processing enabled
         or MailRed will not work in the background. Optionally create
         a extra PIF file for the batch file.




Rederection to gateways and groups
----------------------------------

Enclosed you will find additional information from Microsoft's knowledge
base about MSMail addressing schemes (Q94410.TXT) and how to send to a
group (Q119685.TXT)




Using MRClient:
---------------

MRClient is a Windows program which is designed to let users on
your postoffice send command message to MailRed in a simple and easy
way.

MRClient can work in two modes:

1) Normal mode:
   In normal mode, some options of MRClient are disabled. You have full
   control what MRClient options are disabled or enabled. So its up to
   you, what you users can do with MRClient. Please read section
   "MRClient.INI" for an explanation how to disable/enable options.


2) Advanced mode:
   In advanced mode, MRClient shows you every option
   To start MRClient in advanced mode, call MRClient with a
   command line of -a


MRClient.INI
------------

MRClient.INI is plain ASCII file where each option is in a different
line. MRCleint looks for the INI file in the same directory as the EXE
resides.


The options are:
----------------

MailRedFullName=<name>  <name> is the alias name of MailRed.

MailRedAddress=<adr>    <adr> is address of MailRed.
                        Usualy there is no need to manually adjust this
                        entry and the entry above, because when you
                        select MailRed's address in MRClient and mark
                        the checkbox "Save address for prospective
                        instructions" and send a message, MRClient
                        will save it for you.

Advanced=<logical>      If <logical> is True, MRClient will always start
                        in advanced mode. <logical> defaults to False,
                        which means, that Advanced mode is used only
                        when the -a command line is used.

TimeFormat=<numeric>    if <numeric> is 0, which is the default,
                        MRClient will read the time format out of WIN.INI
                        (section Intl) and you can adjust it using
                        CONTROL.EXE.

                        if <numeric> is 12, MRClient will use a 12 hour
                        AM/PM time format.

                        if <numeric> is 24, MRClient will use a 24 hour
                        time format.

StartTime=<string>      <string> is the start time which MRClient
                        initally shows. It defaults to 00:00.
                        You can adjust it if you prefer another default
                        time. The format of the string is always in 24
                        hour time format.

StopTime=<string>       The same as StartTime, but only for the stop
                        time.

ShowTab=<numeric>       <numeric> is the number of the tab you want to
                        get in normal mode. For every tab you want, you
                        need to write one line into MRClient.INI.

                        When you want to use Tab1, Tab2 and Tab3 in
                        normal mode, write

                        ShowTab=1
                        ShowTab=2
                        ShowTab=3

                        in MRClient.INI and MRClient will show Tab1,
                        Tab2 and Tab3.

                        Its also under you control how this tabs will
                        displayed. When you write

                        ShowTab=2
                        ShowTab=1
                        ShowTab=3

                        Tab2 will be the first tab, Tab1 the second and
                        so on. So you can customize MRClient in any way
                        you want.

EnableStatusAll=<logical>  If <logical> is True, the "Status All"
                        checkbox is grayed, which means that users can't
                        request a status all message. The default is
                        False, which means that users can request status
                        all.
                        This option is usefull if you want to minimize
                        the mail traffic.

                        Note: If Advanced mode is used, the checkbox is
                              always enabled.


LogOnFlags=<numeric>    <numeric> are the logon flags for MAPILogon.
                        It defaults to 3, which means
                        "present a logon dialog" and
                        "start a new session".

                        When you use the MSMail 3.x Client, this option
                        is more or less useless.

                        However if you use the Exchange Client, which is
                        bundled with Exchange and Windows95, this option
                        may be usefull, because it allows you to bypass
                        the Profile Dialog and always use the default
                        profile.

                        To use the default profile on start of MrClient,
                        use 67 for <numeric>, like:

                        LogOnFlags=67

                        Note: Some old versions of the Exchange Client
                              may crash if you use 67 as LogOnFlags.





Licensing Agreement
-------------------

    MailRed (c) is copyrighted 1993-1995 by DataEnter, Michael Kocum,
    portions (c) Microsoft Corp.

    This product and its documentation may not, in whole or in part, be
    copied, reproduced, transmitted, transcribed, stored in a retrieval
    system, or translated into any other natural or computer language, in
    any form or by any means whatsoever, be it electronic, mechanical,
    magnetic, optical, manual or otherwise, without the prior written
    consent of DataEnter.

    DataEnter makes no warranty or representation, either expressed or
    implied, with respect to the product MailRed and its
    documentation, their quality, perfomance, merchantability, or fitness
    for a particular purpose. DataEnter reserves the right to revise the
    user's guide and make changes in the content without obligation to
    notify any person or organization of such a change.

    In no event will DataEnter be liable for any direct, indirect,
    special, incidental or consequential damages, real or imagined,
    resulting from the use or purchase of this software.
    Under no circumstances shall DataEnter's liability for damages
    exceed the price paid for the software license.

    Should any remedy hereunder be determined to have failed, all
    limitations of liability and exclusion of damages set forth above
    shall remain in full force and effect.

    The extent of the DataEnter's warranty for the software and its
    documentation is limited to physical defects of the distribution media
    containing the software. Contact DataEnter to obtain return
    authorization for the replacement diskette within 30 days of the
    original date of purchase. Any further statement made by agents,
    employees, distributors or dealers of DataEnter do not constitute
    warranties and are not binding. No employee of DataEnter has the
    authority to modify any portion of this warranty.

    All brand and product names we refer to in the documentation are used
    solely for identification purposes and may be trademarks of other
    companies.

    DataEnter, (the licensor) grants the buyer (the licensee)
    the right to use this copy of MailRed (the program)
    on a single postoffice at a single location as long as the
    licensee complies with the terms of this license.

    The licensor reserves the right to terminate this license if the
    licensee violates any part of the agreement.

    The licensee agrees to make copies of the program only for backup
    purposes. The licensee agrees not to copy the documentation and to
    take all necessary precautions to ensure that the backup copies of the
    software are not distributed to or acquired by other parties.

    Microsoft Mail is a trademark of Microsoft Corp.
    Windows for Workgroups is a trademark of Microsoft Corp.


History:
--------

v2.04   Leave mail header (From,To and Subjct) in message body to let
        receiver know to whom the messages was

v2.05   Changed absolute pathes to relativ to be compatible with MSMail

v2.06   After a system message check for empty redir addresses and
        disabling of them

v2.07   Resolving the full name, so that the Windows client does not
        display the ugly address

v2.08   Changed the len of redir address to 100 chars for X400 and SMTP

        Improved the lookup for messages, so MailRed is now a lot faster

        Fixed a bug in MSMail so that NEWMAIL.EXE does not report a new
        message when in fact there is no mail there

        MailRed now redirect only unread mails, so that the DOS client
        can keep the read mail

        Added keywords KEEP and DESTROY. KEEP means "keep messages in
        mailbox after messages" whereas DESTROY means "destroy (delete)
        messages after redirecting". DESTROY is the default if no
        keyword is used.

v2.09   MailDrive in MailRed.INI can now be a full path with a leading
        backslash. Also UNC names shoud work (\\SERVER\VOLUME\MAIDATA\).

v2.10   The recipient of the original message is now added to the "To"
        field of the forwarded message.

v2.11   Alias name of the receiver of the message is added

v2.12   Keywords "START" and "STOP" now accepts a optional date and
        time. The date format is YYYY-MM-DD (1995-06-14) and the time
        is in military time format (13:06). Its now possibel to start a
        redirection in the future for until a given date and time.

v2.13   Added support for a file name called "MRDATA.TXT".
        You can use it send MailRed command (usualy addresses)
        which will break into two ore more lines if sent in the message
        body.

        Changed the len of redir address to 250 chars for X400 and SMTP

v2.14   Fixed a problem with To addressed

v2.15   No confirmation message is sent when "HELP" or "STATUS" is
        requested
        The command "PASSWORD" is now only validated when a redirection
        in the name of another person is done, otherwise it is ignored

v2.16   When the first PO cant accessed, MailRed terminates
        because the own mailbox will not be available

v2.17   Check if mailbox is valid and deactived if not exist

v2.18   Speeded up code by appx. 60% when processing a postoffice with a
        lot of mailboxes

v2.19   Fixed Bug where no postoffice was checked after an invalid
        postoffice

v2.20   Fixed bug when messages from a group is redirected

v2.21   MailRed is now a protected mode application and runs faster
        under low memory conditions. MailRed needs 1MB of XMS or DPMI
        memory.

v2.22   Confirmation message now includes status information
        (So there is no need to request an extra status message)

        MailRed now deletes outdated or inactive records in it's database
        to save space on disk on installation with a lot of users

        Added support for different languages. English and German is now
        available. See "Language" option above.

        Added support for information for the recipient when a messages
        is redirected. See "DestroyMailHeader" and "AddRedirHeader"
        above.

        Added support for not redirection back to the sender.
        (Massages from Mailbox "A" are redirected to MailBox "B" and
        "B" wants to send a message to "A"). See "RedirToSender" above.

        Added check for infinite loops in redirection. ("A" redirects to
        "B", "B" redirects to "C" and "C" redirects to "A").
        See "DetectInfiniteLoop" above.

v2.23   Fixed documentation for RedirToSender

        Added screen/log message for RedirToSender

        Added support for sending STATUS ALL messages as a file.
        See "StatusAllAsFile" above.

        Added support excluding gateways for redirection.
        See "ExcludeGateway" above.

v2.24   Redirection header now lists original To and CC when available
        Fixed deleting of temp files

v2.25   Fixed a lot of login problems when using MRClient with
        the Exchange Client. See "LogOnFlags" above.

        No confirmation message to Admin is sent when an empty message
        is recieved. So it's possible to check MailRed with PingPong and
        get a notification if MailRed is not running.


