At 10:47 PM 1/29/97 +0100, Eric Thomas <[log in to unmask]> wrote:
>On Wed, 29 Jan 1997 16:50:05 -0500 Valdis Kletnieks
><[log in to unmask]> said:
>
>>Pray tell.. do you know of a reliable programmatic way to detect that a
>>given message came from a list, and therefor should not be
>>vacation-replied to? If so, please share, so that the world may benefit
>>;)
See below -- you may be sorry you asked! :)
>If the return path starts with owner- or ends in -request or -owner,
>changes are VERY GOOD that this comes from a mailing list. I'm sure there
>are lists that don't match this rule, but I doubt there are many.
The "Return-Path:" header is unfortunately optional (RFC 822), and is
added by the final transport system, so it is not under control of the
mailing lists. The four systems I use don't make it available :-( .
UNIX-style messages/mailboxes will generally be found to contain a
"From " header at the beginning with this information which, if you can
get at it, may be useful, but this is not an RFC mail headerfield.
In some documentation you may see this loosely called a From_ header.
More generally, vacation programs (if used at all -- I tend to agree with
Peter that they are best left unrun) shouldn't respond to any sort of
mailer daemons (including other vacation programs!), not just lists.
The man pages for procmail give a heuristic (which they abbreviate
"^FROM_DAEMON") regular expression to match on the headers
as follows (take a deep breath!):
If the regular expression contains `^FROM_DAEMON' it will be
substituted by `(^(Precedence:.*(junk|bulk|list)|(((Resent-
)?(From|Sender)|X-Envelope-From):|>?From )(.*[^(.%@a-z0-
9])?(Post(ma?(st(e?r)?|n)|office)|(send)?Mail(er)?|daemon
|mmdf|root|n?uucp|smtp|response|LISTSERV|owner|request|bounce
|serv(ices?|er)|Admin(istrator)?)([^).!:a-z0-9].*)?$[^>]))',
which should catch mails coming from most daemons (how's
that for a regular expression :-).
(Those are case-insensitive matches, BTW.)
In addition, the sample procmail vacation responder also adds one of
the Precedence: values to its own outgoing response, as well as
"X-Loop: [log in to unmask]" -- and then if something arrives with that
X-Loop, doesn't reply to it either. It also maintains a database of
addresses sent to, and only sends once to any one of them.
I don't use vacation responders, but I do run a game via an autoresponder,
and have only had one false match on ^FROM_DAEMON out of 60-odd players --
that was an address such as
"[log in to unmask] (system admin for somewhere)"
and the word "admin" triggered the don't reply logic. He removed it
from his address comment field and is still playing.
Cheers,
Stan
|