Author    Fulvio Cogrossi
Email     fc14301589@icqmail.com
Version   (I don't have such skill to make it)
==============================================================================

                             FOREWORD
I have no idea for any kind of copyrights, simply use Mailsweeper as it is or
erase it.
I've started the development of Mailsweeper just for fun and learning Python.
The publication of this program is mostly on the view to some feedback regarding
how to make more efficient my program, rather a use of itself :-)
My first intention was to mimic the power of Andreas Bauer's "mailfilter",
which may need some extra effort to make it running on a different platform.
Of course, even  Mailsweeper will need Python interpreter, but on the other
hand, Python may become useful for other several purposes.

                             DISCLAIMER
NO warranty are given implied or direct, neither liability. Mailsweeper name has
been choosen without intention to copy anyother program around the globe (who may
guess how many names like that exist). Mailsweepr may fail for some unpredictable
reason, therefore use it with care.
I'm going to pay some effort to improve the Mailsweeper performances and catch
all possible flaws. Any bug fix or improvement are welcome and taken in account.
Modification, redistribution and personal use is granted for free, else
commercial use in whole or partial of this program requires author permission.

                             How it works
                             ============
First need to set up the configuration file. An example is enclosed with
Mailsweeper.
The file is fairly documented and follow a "INI" style, with sections and some
compond to let do a word replacement on the option's value.
Once the configuration file is set, just launch Mailsweeper on the prompt
followed by (optionally) the config file path. If you start Mailsweeper the
first time it's compulsory to give the config file, since no records have been
saved.
Subsequently, if the config file still same, Mailsweeper will load its own saved
records. In order to force loading the configuration must provide a config file
after the program name, even a new one.
There are some command line options which can override the configuration file
setting. Details are enclosed into config file as *_HLP option. These
descriptions will appear also if you'll type Mailsweeper -h at the prompt.
With this method it will be ease for developers to convert the help comments
into a different language. I don't know whether it can take Unicode.
Mailsweeper have also the chance to let one to input options on the command line
directly, overriding the configuration file.
You may want a log file, and there are a couple of options, which let you decide
for the log and append to an existing previous file.

Actually Mailsweeper have been tested mainly on linux platform, I've spent some
time to run test also on Win32 platform and I may say it's a similar behaviour.
I think Mailsweeper may need some little effort to set up the convenient folder
for the program and its files.
Most of the Mailsweeper effort is to catch all unwanted email and report or
remove them directly from the server(s). Mailsweeper can handle POP3 and IMAP4
server.

During the process, Mailsweeper will show some information of the progress. It's
possible to have a short log on the screen and one into a file or nothing.
If one sets anything else than a boolean choice, Mailsweeper will try to guess a
file size and new will start if it exceed the given value. Correct value are
anything in decimal notation or ending by k or M, as it stands for [k]ilobytes
and [M]egabytes respectively.

Multithreading, will try to process all the mailboxes in one go, reducing idle
times within servers connection.

The options "SAVEDATA", "CFGFIL" and "CHECKSUM" are only place-holder for
Mailsweeper, any value there is meaningless. But cannot remove them, as long as
all of options under setting section.

FILTERING.- This is the core of the email handling. If wrong input may cause
misinterpretation on what you want to remove or to keep. It's adviceable to
start testing and with "SETTING FILTER" set to 'no' or 0 (zero), which will
simply mark the emails BAD, but will be no actions on the server(s).

The configuration let you define 2 way of filtering. Options names starting by
'A' and followed by any character (just to make an unique option name),it will
means "Allowed" and Mailsweeper will keep those emails matching such criteria.
Options names starting by 'D' and any characters after means Denied and
Mailsweeper will mark in the log or immediately remove from the server.
The filter mode is dictated by Regular Expression and I suggest some reading at
www.python.org/doc/Python-Docs/html/lib/re-syntax.html, to whom isn't familiar
on its use.
For anything unclear, it will be a pleasure of mine to help you for the best use
of Mailsweeper. Developers may also expose or share some idea.

The development of Mailsweeper is going at the pace of solely hobbistic term,
do not expect changes in short periods.

Thanks to all doing with Python, that gave the chance to come up with
Mailsweeper

PS. Italian is my own language, any wrong grammar herein is purely unknown,
sorry.
