
            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 MailFax
------------------------

MailFax is a gateway for Microsoft Mail and allows users to send and
receive faxes with Microsoft Mail.

MailFax works with every fax modem.

MailFax can fax messages or attached files to a fax maschine and
automatically resend fax items which were not successfully transmitted.

Optionaly it can print to an PCL4 (Laserjet) or Postscript printer
and/or mail incoming faxes to an mailbox (CAS only).

MailFax sends either the body of a message OR the attached files, both
with or without a cover page. I does NOT send the body of a message AND
the attached files.

The allowable file format for attachments are ASCII, black and white PCX
and DCX.

Mail users are able to add fax adresses to there personal address book
even the fax address has not been defined by the adminstrator.


Depending on the fax modem you have, MailFax can do the following:


Modem typ              | CAS      | CAS emulator | Class1/Class2
-----------------------+----------+--------------+----------------------
Sample manufactur      | Intel    | Word Perfect | Zoom
                       | Ferrari  |              | Supra
                       |          |              | Boca
                       |          |              | Zyxel
-----------------------+----------+--------------+----------------------
Send faxes             | YES      | YES          | YES
-----------------------+----------+--------------+----------------------
Print received faxes   | YES      | YES          | NO
-----------------------+----------+--------------+----------------------
Mail received faxes    | YES      | YES          | NO
-----------------------+----------+--------------+----------------------



System Requirements
-------------------
  PC 386 or higher
  2 MB of Ram or more
  DOS 3.3 or higher
  HIMEM.SYS loaded
  Microsoft Mail, version 3.2 or above
  CAS compatible fax modem or
  a fax modem with a CAS emulator
  or a Class1/Class2 fax modem


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

Note! Backup your mail database before you install MailFax.

MailFax will make changes to existing databases in order to work with
MS Mail.

   1) Install, configure and test your fax modem.

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

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

   3) Start MS Mail and log in using your newly created mailbox
      (MailFax) and delete the welcome message.

      Note! This step is reqired or MailFax will not work!!!

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

   5) If you have installed the Microsoft Fax gateway, remove it by
      calling INSTALL with the argument -r. Be aware that all your
      Fax adresses will be deleted. To protect your adresses, save
      FAX.NME and FAX.GLB and restore the files later.

      Note: Microsoft Fax requires that you put your outdial number in
      front of the fax number, whereas in MailFax set up a global
      outdial number. So perhaps you have to adjust your Fax addresses.

   6) Start MailFax with the argument -I (i.e. "MailFax -I")

      You will be prompted for the following fields:

      "     Install or Remove:"  Type "I" for installation or "R" for
                                 removing the gateway

      "    Path to postoffice:"  The path where your postoffice is
                                 located

      "Full Name (Alias Name):"  The full name of your newly created
                                 mailbox (usualy "MailFax")
                                 To make it more simple, you will get a
                                 list of your users, where the last
                                 added user is the first entry.
                                 Simple select the new one and press
                                 Return.


      MailFax now creates the basic installation.

      Note! You can cancel the operation at any time, by pressing
            ESCAPE.


   7) Edit MailFax.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> ist the drive where your
                                     mail database is located. If
                                     ommitted, "M" is assumed.

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


      MailBox=<mailbox>              <mailbox> is the mailbox which
                                     MailFax should use.

      Password=<password>            <password> is the password of the
                                     mailbox.

      ToneDial=<logical>             If <logical> is True, MailFax will
                                     use ToneDial. If it is False
                                     MailFax will use PulseDial.

      OutNumber=<number>             <number> is the number you use to
                                     get an outside access on your PBX.

      MaxRetry=<count>               <count> ist the retry count, for
                                     faxes which were not successfully
                                     transmitted.

      SendCoverAlways=<logical>      If <logical> is True, MailFax will
                                     always send a cover file.

      SendCoverIfNoAttach=<logical>  If <logical> is True, MailFax will
                                     send a cover only if the message
                                     has no attachment. (i.e. when it
                                     sends the body of the message).

      CoverFile=<file>               <file> is the full file name of
                                     your cover file including drive and
                                     directory. If the entry is blank
                                     or MailFax cannot find your cover
                                     file, MailFax will use the default
                                     cover file of your CAS board.

      SendOkMessage=<logical>        If <logical> is True, MailFax will
                                     send a message to the originator of
                                     the message if the fax is sent
                                     sucessfully.

      SendFailMessage=<logical>      If <logical> is True, MailFax will
                                     send a message to the originator of
                                     the message if the fax failed.

      WriteLogFile=<logical>         If <logical> is True, MailFax will
                                     write a log file called MAILFAX.LOG
                                     in your \LOG directory which
                                     contains the status of each fax.

      DebugMessage=<logical>         If <logical> is True, MailFax will
                                     display additional messages on the
                                     screen, so that a problem can be
                                     tracked down.

      DebugLog=<logical>             If <logical> is True, MailFax will
                                     write a log file called MAILFAX.DEB
                                     in your \LOG directory which
                                     contains all screen output.

      WaitOnExit=<logical>           If <logical> is True, MailFax will
                                     wait for a key before exit.

      Admin=<MSAddress>              <MSAddress> is the full MS Adress of
                                     MailFax's Admin. MailFax will send
                                     incoming faxes to this address.
                                     A sample address will be:
                                     YOURNETWORK/YOURPOSTOFFICE/YOURNAME

      MailIncomingFax=<logical>      If <logical> is True, MailFax will
                                     mail incoming faxes to Admin.

      MailDCXAsPCX=<logical>         If <logical> is True, MailFax will
                                     mail incoming faxes as PCX instead
                                     as DCX files.

      PrintIncomingFax=<logical>     If <logical> is True, MailFax will
                                     print incoming faxes.

      PrintDevice=<device>           <device> is a valid DOS device like
                                     LPT1, LPT2 or LPT3.

      PrinterTyp=<typ>               <typ> can be PCL4 for PCL4 (Laserjet)
                                     or POSTSCRIPT for Postscript
                                     printers.

      PaperFormat=<format>           <format> can be LETTER for LETTER
                                     or A4 for A4.


      DeleteIncomingFaxes=<logical>  if <logical> is True, Mailfax
                                     deletes incoming faxes from the CAS
                                     queue instead of leaving it. In
                                     general its better to delete the
                                     faxes, because if not, your
                                     harddisk gets filles with incoming
                                     faxes.

      ModemTyp=<typ>                 <typ> can be on of the following:
                                     AUTO    Let MailFax detect the typ
                                     CAS     CAS fax modem
                                     CLASS1  CLASS1 fax modem
                                     CLASS2  CLASS2 fax modem
                                     CLASS20 CLASS2.0 fax modem
                                     In general, its the best to let
                                     MailFax detect the typ.


   Note: Following section is only required if you don't have a
   CAS modem. For CAS modems it's IGNORED!!!



      Baud=<baud>                    <baud> can be any valid bade rate,
                                     but only 19200 will make sense.

      InitString=<init>              <init> is the string sent to your
                                     modem at start of transmission. For
                                     faxing, the string is far less
                                     complicated then for data transfer.
                                     Usualy ATZ is a good choice.

      Port=<port>                    <port> is the port where your
                                     faxmodem is located, like
                                     COM1, COM2, COM3, COM4.

      PortBaseAddress=<addr>         <addr> is the port's base address
                                     in HEX. MailFax will use a standard
                                     port address if you use COM1, COM2,
                                     COM3, COM4 AND <addr> is blank. You
                                     can override the default if you
                                     have a non standard address.

      PortIRQ=<irq>                  <irq> is the port's IRQ.
                                     MailFax will use a standard port
                                     IRQ if you use COM1,COM2,COM3,COM4
                                     AND <irq> is 0 (blank). You can
                                     override the default if you have a
                                     non standard IRQ.

      LocalID=<id>                   <id> is your local fax id. This is
                                     usualy your fax numer and it will
                                     be printed on top of every page.
                                     Only digits are valid, but your Fax
                                     modem may work with characters
                                     also.

      DetectBusy=<logical>           if <logical> is True, Mailfax
                                     will detect busy lines.

      DetectDialTone=<logical>       if <logical> is True, Mailfax
                                     will detect a dial tone.
                                     Some modems can't detect dial tone
                                     on a PBX, so in general its the
                                     best to leave it off.

      HardwareFlow=<logical>         if <logical> is True, Mailfax
                                     will use hardware flow (RTS/CTS)
                                     for communcation with the modem.
                                     if <logical> is False, it uses
                                     XON/XOFF. Hardware flow is faster
                                     but some modem need a special init
                                     string to support it.




      Sample MAILFAX.INI:
      -------------------

         MailDrive=M
         MailBox=MailFax
         Password=password
         ToneDial=True
         OutNumber=9,
         MaxRetry=3
         SendCoverAlways=False
         SendCoverIfNoAttach=True
         CoverFile=M:\COVER\COVER.PCX
         SendOkMessage=True
         SendFailMessage=True
         DebugMessage=False
         WriteLogFile=True
         WaitOnExit=False

         Admin=YOURNETWORK/YOURPOSTOFFICE/YOURNAME
         MailIncomingFax=False
         MailDCXAsPCX=False
         PrintIncomingFax=False
         PrintDevice=LPT1
         PrinterTyp=PCL4
         PaperFormat=LETTER
         DeleteIncomingFax=True


         ModemTyp=AUTO
         Baud=19200
         InitString=ATZ
         LocalId=1234567890
         Port=COM1
         DetectBusy=True
         DetectDialTone=False
         HardwareFlow=True


   8) Start ADMIN.EXE and select "Gateway". Select "Create" or "FAX" and
      then "Create" (depending if MailFax is the only gateway in MS
      Mail) to create a new fax adress.

   9) Start MSMail and log in using your mailbox an create a fax.

  10) Start MailFax without any arguments and check if it is working.

  11) Edit the cover page template (MAILFAX.COV) to fit your needs.


Polling
-------

In order to work, MailFax has to poll MS Mail for messages from time to
time. This can be done in two different ways.

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

Note: When you want to receive faxes its not necessary that MailFax is
      running, but your CAS Driver has to be loaded all the times.
      MailFax will pick up any received fax the next time it runs.

      So it's possibel to use External and receive faxes with one maschine.


A sample batch file may look like:

@echo off
:Start

   rem Change to MailFax directory
   cd MailFax

   rem Execute MailFax
   MailFax

   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


You can also run MailFax in the background of Windows. A special
programm, MAILWAIT.EXE is included 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.


A sample batch file may look like:

@echo off
:Start

   rem Change to MailFax directory
   cd MailFax

   rem Execute MailFax
   MailFax -fPingPong -pPassword -dM

   rem Change back to directory where MailWait is located
   cd ..

   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


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

    MailFax (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 MailFax 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 MailFax (the program)
    on a single computer 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.00   MailFax is now a protected mode program and requires
        a 386 with 2MB

        Mail and/or print received faxes with CAS modems

        Send faxes with CLASS1/CLASS2 modems

        Allow cancel of faxes with ESC

        A user defined cover page generation added (MAILFAX.COV)

v2.01   Added support for DetectBusy, DetectDialTon and HardwareFlow

v2.02   Added network support, so that is now possible to run more than
        one instance of MailFax

v2.03   Added support for userdefined LogFile and DebugFile

v2.04   DCX as cover file is now allowed

        MailFax checks now if an attachments is a TXT, DCX or PCX

        MailFax sets now an errorlevel on exit

        Added pages and connection time in log file

v2.05   Fixed left margin

v2.06   Added FullName in log file

v2.07   Fixed semaphore lock

v2.08   MailFax now sents tries to sent ALL unsent faxes at the next
        start and not only the first one

v2.09   Added support for more CLASS2 modems

v2.10   Fixed a GPF in CAS mode

v2.11   Fixed a bug in install

v2.12   Added more information in the status message

v2.13   Added support for more CLASS2 modems

v2.14   Added support for more CLASS2 modems

v2.15   Added support for more CLASS2 modems

v2.16   Added support for more CLASS2 modems

v2.17   Added a longer waiting time for "Task not found"

v2.18   Added support for more CLASS2 modems

v2.19   Added support for more CLASS2 modems

v2.20   Fix for WinMail.Dat in Exchange
        Fix for wrong address format in the current Exchange Client


