/mailagent

Mail filter using lex-style rules and versatile actions to process messages from a ~/.forward hook

Primary LanguagePerl

                           mailagent 3.1

              Copyright (c) 1990-2008, Raphael Manfredi

------------------------------------------------------------------------
    This program is free software; you can redistribute it and/or modify
    it under the terms of the Artistic License, a copy of which can be
    found with this package.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    Artistic License for more details.
------------------------------------------------------------------------

Please read all the directions below before you proceed any further, and
then follow them carefully.

After you have unpacked your kit, you should have all the files listed
in MANIFEST.
========================================================================

This is a mailagent program, and it will take care of all your incoming
mail by applying a set of rules and trying to figure out what to do with
it. A message can be saved in a folder, left in the main mailbox, posted
to a newsgroup, forwarded to other people, split if it is a digest,
etc... You may even delete all those mails you do not wish to see, ever.

Filtering rules are specified using lex-style rules, i.e. they have
a set of patterns in the left hand-side (lhs) and a set of actions within
{} braces on the right hand-side (rhs). Pattern on the lhs are applied
in sequence until one match occurs, at which time the rhs is executed.
Normally the first match stops the processing, but that may be changed.

As in lex, the filtering automaton supports the notion of modes, each
rule belonging to a set of modes and being applied only when the current
working mode matches one of the modes associated with the rule.

If you do not install any filtering rules, then some default hardwired
rules apply. Those simply leave all the messages in your mailbox, but
process mails whose Subject line is Command (@SH hooks). You may
override this default behavior by writing your own set of rules,
and maybe disable this processing entirely.

I have included in the subdirectory 'examples' a set of files which are
part of my own mail environment, in the hope that they will be useful.
In particular, there is a heavily documented rule file, which is a copy
of the one I am currently using, comments excepted...

(This paragraph only matters if you decide to use the PROCESS command.)
The mailhelp, maillist, mailpatch and maillist programs are *old* and
would need some clean up. They require you to have the kit program
and cshar; those two programs have been posted to comp.sources.unix.
You may want to retrieve them via my mailagent if you can't find them.

Any feedback on this program will be appreciated. However, please make
sure to introduce the word 'mailagent' in the subject of your message,
so that the new rule I am about to add to my ~/.rules may correctly
redirect your message into a high priority folder :-)

There is a mailing list hosted in Japan and set up by Shigeya Suzuki
<shigeya@foretune.co.jp>, for discussion about the mailagent package as
a whole. It's a good place to ask questions (or answer them) and to
send your patches. I will post official patches to the net, as well
as to the agent-users list.

To send a mail to the list, address it to <agent-users@foretune.co.jp>.
To subscribe, send a mail to <majordomo@foretune.co.jp>. If you don't
know how to use majordomo, the syntax of the subscribe command is:

	subscribe agent-users [address]

where the address part is optional. You may unsubscribe automatically
at any time by sending:

	unsubscribe agent-users

If you have a problem with this version of mailagent, it is recommended
that you subscribe to the list, then send a description of your problem to
it. If you send mail to me personally, I may not be able to answer in a
timely fashion.

This mailing list has low traffic (a few articles per week, typically),
and it is expected to remain so, with a high signal/noise ratio.

	Raphael Manfredi <ram@acri.fr>
	Lyon, France, December 1st 1993

	Raphael Manfredi <Raphael_Manfredi@hp.com>
	Grenoble, France, March 21st 1995

	Raphael Manfredi <Raphael_Manfredi@pobox.com>
	Grenoble, France, July 12th 1999

	Raphael Manfredi <Raphael_Manfredi@pobox.com>
	Grenoble, France, June 28th 2008

========================================================================

INSTALLATION

1) Run Configure. This will figure out various things about your
system. After it has completed, it will produce config.h and config.sh.

You might possibly have to trim # comments from the front of Configure
if your shell doesn't handle them, but all other comments will be taken
care of.

2) Run make.

3) If make succeeded, you may wish to do "make install install.man". Be
sure your rights are correct (if you install manual pages, you may need
super-user privileges). By not running "make install.man", you avoid the
installation of the manual pages.

4) Read the manual entry and the FAQ before running.

5) IMPORTANT!  Communicate any problem and suggested patches to me,
Raphael_Manfredi@pobox.com (Raphael Manfredi), so we can keep this
distribution in sync.  If you have a problem, there will be someone else
who had it or will have it too...

If possible, send me patches such that the patch program will apply
them.  Context diffs are the best, then normal diffs.  Do not send ed
scripts, I have probably changed my copy since the version you got.

6) After everything is installed, you can do make clobber. This will
clean up everything and let you re-distribute this kit, without
carrying useless files. You should keep this distribution intact, so
that future patches will be applyable.

7) If you wish to de-install the package, you may run "make deinstall".
A separate "make deinstall.man" will remove the manual pages. Be sure
the makefiles are correctly set before running any deinstall target.
On USG systems, some executable have a chance to remain despite the
deinstall (text file busy...).

	Raphael Manfredi <Raphael_Manfredi@pobox.com>