MINIMI ( Minimal IMail Insert for SNF)

This program makes it possible to scan messages on IMail using
SNF_Server without the need for additional software.

The SNFIMailShim.exe program is called in place of the normal IMail
delivery agent (smtp32.exe). SNFIMailShim.exe locks the message in
the IMail/spool and then contacts the SNF_Server for scanning. When
the scan is completed SNFIMailShim.exe takes some appropriate action
on the message based on it's configuration. If the message is to be
delivered then SNFIMailShim.exe will unlock the message and call the
original delivery agent (smtp32.exe).

Depending upon the result code from SNF_Server, MINIMI can take one
of the following actions:

pass - Allow the message to be delivered normally*

hold - Move the D and Q file for the message to a folder.

drop - Delete the D and Q file and NOT call smtp32.exe.

* Messages may be altered by SNF_Server before delivery. Most commonly
SNF_Server might inject headers indicating data about the scan. IMail
rules can then be used to react to these headers.

____________
Installation

Copy the SNFIMailShim.exe and SNFIMailShim.xml files to the IMail
directory -- the same directory where smtp32.exe is found.

Adjust the contents of SNFIMailShim.xml according to your needs.

Especially make sure that the following elements are correct for your
system:

<delivery program='d:\IMail\smtp32.exe'/>

The <delivery/> element describes the program that will be called by
MINIMI to deliver messages. This is normally IMail's smtp32.exe.

<hold path='d:\IMail\spool\spam\'/>

The <hold/> element describes the full path to the directory where
held messages will be moved by default. Be sure to include the \ at
the end - this "path" is prepended to the Q and D file before it is
written to disc.

Note: You can set the mode (pass, hold, drop) for each result code
that may come from SNF_Server. The result code generally represents
the rule group that matched the message -- roughly analogous to the
"type of spam". A zero result [generally] indicates that no patterns
matched the message. 

IMPORTANT: Be sure that any paths you reference in the configuration
exist on the system before proceeding.

Final Step: Assuming you already have SNF_Server running you can now
update IMail to use SNFIMailShim.exe for delivery.

*IMail Administrator
  localhost
    Services
      SMTP
        Advanced
          Delivery Application

IMPORTANT: Be sure to enter the full path to SNFIMailShim.exe

Apply, Stop SMTP, Start SMTP

SNF_Server will produce logs and status information indicating that
messages are now being scanned.

_______________
Operation Notes

If MINIMI encounters problems it will create .err files in the spool.
The .err files will be named for the message files and will contain
information about the error.

Normally you should not see .err files! If you don't see .err files
and SNF_Server is showing messages being scanned then MINIMI is ok.

When a message is locked, MIMINI makes a copy of the Q file named
with a ~ in place of the Q and an extension of .lck. The original
Q file is deleted (not renamed). The .lck file is created before the
Q file is deleted for safety.

If something goes wrong with MINIMI then you may find a .lck file. If
you need to recover the original Q file, simply rename the .lck file
to the original form.

MINIMI is a lightweight utility - it is intended to do as little as
possible, to do it quickly, with as few resources as possible, and
to do it reliably.

HOWEVER -- if you have a problem on a busy server then .lck and .err
files may proliferate quickly!

Have fun!

_M

madscientist@armresearch.com
