                          MailWatch
                         version 2.1
                        by Jon Glazer
               {glazer@ohstpy.mps.ohio-state}
                     Copyright (c) 1992


Introduction:

MailWatch is an email management program designed to give
comprehensive reports about your email system and perform
some management functions to help reduce the amount of space
it utilizes.  MailWatch has the ability to actually re-send
unread mail to an alternative address to ensure that old
mail does not continually build up on your system.
MailWatch is designed to work with Pegasus Mail by David
Harris and Charon by Brad Clements.  Both of these are
readily available off of most network sourced BBS systems
and Compuserve.  Future versions of MailWatch will also
support MHS and possibly other email packages.

This document will assume that the reader has a good
understanding of Pegasus Mail and Charon and at least some
rudimentary knowledge of basic Novell functions.

History:
                              
.92b Final release of test version.
2.0  First release of rewritten shareware version.
2.1  Major bug fix release
     - Fixed numerous bugs regarding forwarding mail.
     - Fixed directory search algorythm to eliminate Novell
      errors.
     - Added support for return-to-sender and corrected
      forwarding  algorythm to work as-stated (see
      RetunAdd).
     - Modified initial search to read from bindary rather
      than SYS:MAIL.  Names are now read directly, converted
      to their HEX IDs then used to search for mail.
      Formerly, all directories under SYS:MAIL were
      searched, valid or not.
     - Added "Z" report for primitive dump of user
      preference settings.
     - Corrected a variety of errors regarding incorrect
      mail counts and inaccurate reports.
     - Added a total at the bottom of each numeric column.
     - Added banner info for email in MAILQUEUE when sending
      mail via Charon (real important huh?).

Installation:

Place the MailWatch distribution files (*.EXE and *.INI at
least) in any directory in your path.  It might be
convenient to place the in the same directory as PMAIL.

MWATCH.INI contains many user-settable variables that will
define how MailWatch performs its various tasks.  MailWatch
cannot operate properly without finding MWATCH.INI in the
path or current directory.

The user who runs MailWatch should have full access to the
mail root directory.  This is necessary to be able to
accurately scan all of the mail subdirectories and
delete/forward mail as needed.

MWATCH.INI

MWATCH.INI conforms to the standard section/keyword/value
format that is found in many other applications such as
Windows.  The .INI format is exceedingly easy to understand
and manipulate and should make the more advance MailWatch
features more easily understandable.

MWATCH.INI is broken into three types of sections, [system],
[global], and [other profiles].

[system]

Variables under this section define various system settings
needed to tell MailWatch about your particular network and
email system.
     
MailDir= This variable defines the root mail directory of
     the email system.  For most Novell networks running
     Pegasus Mail this is SYS:MAIL, however the volume name
     "SYS" may change depending upon your installation.  If
     this variable is not defined, SYS:MAIL is assumed.

LogFile= Enter the name of the log file you wish to use to
     maintain a log of the activities MailWatch performs.
     If you do not define a log file name, no log will be
     kept.

LogSize= Log files can build in size forever until your disk
     is full unless you periodically delete them or set a
     limit.  LogSize defines the maximum number of bytes the
     log file can get before logging is suspended.  By
     default, a size of 1024000 (1 meg) is assumed.

Default= You can define a default profile to use if you do
     not specify one on the command line by entering a valid
     profile name in this  variable.

Registration= MailWatch is not a free utility.  By
     registering the product (paying for it) you will
     receive a passcode that will enable the restricted
     features of MailWatch.  Enter the passcode here to tell
     MailWatch that it is now registered.  See the section
     entitled REGISTRATION for more information.

[global]

Sections other than [system] define parameters to use when
running MailWatch.  MailWatch will search MWATCH.INI for
each variable, first in the given profile section then, if
not found, it will look in the [global] section for these
variables before using defaults or erroring.  The following
variables are valid profile settings that may or may not be
appropriate for the [global] section.  This is where some
logic in the design of MWATCH.INI will be needed.

NewMail= New, unread mail, is stored in separate files in a
     user's mail directory with the extension .CNM (or at
     least it is for Pegasus Mail delivered by Charon or
     Pegasus).  This variable allows you to define what
     extension to scan for new mail.  Usually this would
     simply be *.CNM (and, in fact, is the default) but it
     is provided here in case you find some other use for
     MailWatch I cannot conceive of (or perhaps some other
     email package can use this utility?).

Age= MailWatch performs functions and reports on aged mail.
     This is mail that is older than a defined number of
     days (usually unread mail).  Enter a number here that
     defines what is to be considered aged mail.  There is
     usually no reason to place this in the [global]
     section, nor is there a default value.  Age must be
     specified explicitly for MailWatch to function.

Name= You may have MailWatch perform functions on the entire
     mail system, or you can have it work on only selected
     users.  Enter the name of the user you wish to scan in
     this variable.  You may use wildcards if you wish to
     scan groups of names (such as all users with "J" as a
     first letter Name=J*).

ReturnAdd= Aged mail can be forwarded to another user or to
     the same user on another host or return the message to
     the sender..  Reasons for doing this are: 1) if a user
     has old, unread mail, send the mail to the email
     administrator to sort out why the mail has not been
     read (notify the user).  2) if the user usually works
     from a Unix host (or some other foreign host) send the
     mail there.  The user may not have enabled AutoForward.
     The mail will be rather old when he/she receives it and
     hopefully he/she will correct the entry in AutoForward
     to avoid this problem in the future.

     To have the mail sent to a different user, enter the
     full address of the user to send old mail to.  If you
     wish to simply have the mail sent to the same user on
     another host, enter the mail path w/o the username and
     the addressee will be added by MailWatch.  Ex..
     ReturnAdd=@novell.com will send aged mail to the
     {addressee}@novell.com.

     If no value is given for ReturnAdd then the aged mail
     will be returned to sender with the appropriate message
     in the subject.

OutputName= When generating reports, MailWatch can send the
     report to a file.  Enter the name of the file you wish
     to use for your report output.  No default is provided.

LineDraw= (Yes/No)  Reports can be generated using either
     the PC linedraw characters or dashes and plusses.  Some
     printers cannot print the linedraw characters.  The
     default is no.

PageLength= Enter the length of a single page of output for
     reports.  By default this is 60 lines.

DeleteAged= (Yes/No) When aged mail is encountered, should
     it be deleted after processing (i.e., after the report
     is generated or after it is forwarded).  If mail is
     forwarded and not deleted, then the next time MailWatch
     is run a duplicate mail message will be forwarded until
     the mail is deleted.

ForwardAged= (Yes/No)  Should aged, unread mail be forwarded
     to ReturnAdd?

AgedGroup= MailWatch has the ability to maintain a Novell
     group of users who have unread, aged mail.  By placing
     usernames in this group, you can give notice to these
     users that their mail is being ignored and that it may
     eventually be deleted.  This can be easily done in the
     login script (see Novell documentation).  By running
     consecutive scans, you can provide different messages
     to users such as "You have mail older than 10 days
     waiting". "You have mail older than 20 days waiting",
     "Your unread mail is being deleted" etc....  Provide
     AgedGroup with the name of the group to maintain the
     names in.  This group should already be created.  Each
     time MailWatch is run, it is cleared of names and
     updated with only those that have been processed.

ExcludeGroup= You can provide a list of users to exclude
     from MailWatch processing by giving the name of an
     existing Novell group here.  Users found in that group
     will be ignored by MailWatch.

Quiet= (0,1,2) This tells MailWatch how much status to
     display when executing.  A quiet level of 0 will
     display everything (not quiet).  This can result in a
     rather messy display but it does allow for redirection
     of output in the event you wish to have information
     generated by reports piped into another application.
     Quiet level 1 (sort of quiet) will generate a series of
     colored dots that show status.  The various colors
     signify different activities and are only provided to
     make the display interesting.  Quiet level 2 (tight
     lipped) does not display anything at all unless an
     error is encountered.

RepOrder= This is a rather complex variable.  Basically it
     provides MailWatch with the information you wish to see
     on a report.  Reports are usually made of columns of
     information.  Some of the information may not be wanted
     or may need to be in a particular order.  Each column
     of information has an associated letter.  Enter in
     RepOrder the column order you wish to see in the
     reports.  This is simply a set of letters that turn on
     report columns and tell MailWatch to print them in a
     particular order.  See the REPORTS section for more
     information.

[Other Profiles]

Additional should be defined with the above variable to
describe various MailWatch functions.  Examples might be
sections to simply delete old mail, forward and delete old
mail, generate specific reports, or any combination of
these.  You would run MailWatch with the name of the profile
on the command line to have it use those values when
running.   If you do not provide a profile name, the one
found in Default= in the [system] section will be used , if
available.

Reports:

MailWatch has a rather sophisticated reporting system.  It
provides information as desired and limits its processing to
only those areas required to acquire this information.  In
this way, MailWatch processing times may vary depending upon
the type and quantity of information requested.

Each report is made up of columns of information.  Each
column item has a corresponding column letter assigned to
it.  When generating reports, the columns are displayed in
the order provided in the RepOrder variable.  If a column is
excluded from this variable, it will not be displayed at
all.

The following is a description of each of the available
reporting columns you may include in RepOrder.

  General     Pmail      Unread       MHS         Folder
A Userid   C  Total    G Unread    K  MHS      O  Folder
              Email      Total        Total       Total
B User     D  Total    H Unread    L  MHS Size P  Folder
  Name        Aged       Size                     Size
           E  Total    I Unread    M  MHS Aged Q  Folder
              Size       Aged                     Deleted
           F  Total    J Unread    N  MHS      R  Folder
              ASize      ASize        Asize       Mail
                                               S  Folder
                                                  Aged
                                               T  *Folder
                                                  Name
* Requires special consideration (See below).

The General columns are general information pertaining to
the email user.

Items under Pmail depict information regarding specific
elements of Pegasus Mail mail.  Totals in this category
total both read and unread mail.

The Unread category also deals with Pegasus Mail
information.  These are statistics about unread mail found.

MHS statistics are not yet available but will be active
using these settings eventually.

Folder statistics can be taken if you wish to get that level
of information.  If you specify that the folder name is to
be displayed (not usually useful) than another type of
report will be generated giving sub totals for the folder
information.  This can become rather cluttered and is only
offered as a service for debugging.

ASize information depicts aged, unread mail sizes.

Example

If RepOrder=ABCGOE then the report would be UserId,
UserName, TotalEmail, UnreadTotal, FolderTotal, TotalSize in
that order.

An additional report code of "Z" will dump user settings for
Pegasus Mail.  This should probably be used alone in it's
own profile, otherwise a rather cluttered, and unreadable
report will be generated.

Example

RepOrder=Z

Disclaimer:

This product is distributed "as-is".  Loss or corruption of
data  or damage to equipment due directly or indirectly to
the use of this product is not the responsibility of the
author who cannot be made liable.  Use this product at your
own risk.

Credits:
Pegasus Mail is copyright by David Harris.
Charon is copyright by Brad Clements.
Novell is a trademark of Novell Inc.
Windows is a trademark of Microsoft Inc.

Registration:

MailWatch is not free.  It has been developed after a
considerable amount of effort and is distributed in the
shareware fashion.  If you decide that MailWatch is useful
for you, please send $39 to:

          Jon Glazer
          2097 Brittany Road
          Columbus, Oh   43229.

Questions and comments can be sent to glazer@ohstpy.mps.ohio-
state.edu.

You will receive a passcode that will enable any MailWatch
protected features.  This code will be good for any
maintenance releases of MailWatch in the future.  A
maintenance release is a version whose minor number changes
(i.e. 2.01, 2.02, 2.10 etc..).

Please complete and send the following form:

Please send me the MailWatch passcode via:

[  ] U.S. Mail                address

          ________________________________________

          ________________________________________

          ________________________________________

          ________________________________________


[  ] Internet (email) , my address is:

     _______________________________________________


[  ] Compuserve (email), my id is:

     _______________________________________________
