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