Bruce Guenter <[EMAIL PROTECTED]> writes:
> On Fri, Jul 14, 2000 at 06:28:44PM -0700, Russ Allbery wrote:

>> I consider it to be an absolute requirement for any autoresponder to
>> not reply to a message that isn't addressed to the recipient it is
>> acting on behalf of.

> And that's part of why it's rate limited.

Rate limiting will indeed cover up a multitude of sins, but it's still
possible even with a rate-limited autoresponder to generate responses to
mailing list traffic.  Another significant ameliorating factor in your
implementation, though, is...

> By default, it will only reply to a particular sender address once an
> hour, no matter how many are sent.  Hmmmm.  Ezmlm uses a different
> recipient address each time (but ezmlm will also add both a "Precedence:
> bulk" and a "Delivered-To: mailing list ..." header).

...that it sounds like you're sending your replies to the envelope sender,
and therefore it's somewhat less likely they would end up on the mailing
list.

There are various schools of thought on this topic.  My experience is that
sending the autoreply to the From/Reply-To address is generally what
people expect and that sending it to the envelope sender can often be
confusing or unsuccessful.  But using the envelope sender is certainly
cleaner from an implementation standpoint, and helps avoid a few of the
problems of mailing lists, at least for mailing lists managed by software.

> I understand the argument you're making, and it's valid to a degree.  If
> you want to contribute a simple GPL-able RFC822 parser, I'll make it a
> feature of my autoresponder.

That's not the main problem.  That's a tractable technical problem, even
if annoying.  The real problem is that unless you're willing to let your
autoresponder generate significantly fewer responses than the person would
expect, you have to deal with alternate forms of their address.  For
example, there are literally hundreds of rra@*.stanford.edu address forms
that all deliver to [EMAIL PROTECTED], and unfortunately in some cases a
not insignificant number of them are in use for various things or due to
various historical reasons.

You're correct that I overstated my feelings somewhat, and determining
whether a given e-mail address was addressed directly to the recipient in
the To or Cc header is not a fully solveable problem.  The rather ugly
hack that I'm currently using is:

my @addressees = ($addressees =~ /(?:^|\G|\s)(\S+)\@\S+\.\S+\s/g);

(and then applying some canonicalization to deal with removing the leading
bracket, supporting varient forms that our LDAP database supports, and
removing the "sub-address" parts).

This fails to recognize all sorts of weird addressing forms that are
fairly uncommon in practice.  This is reasonable for my purposes since the
algorithm "fails closed"; if it can't find the recipient, it doesn't send
an autoreply.  More worrisome is the fact that it only considers the
username portion, in part to deal with the address varient problem
mentioned above (and because that was the historical behavior of the
autoresponder that I was rewriting to use LDAP instead of our old method
of handling vacation).  In practice, though, that seems to work reasonably
well.

This is certainly not a substitute for rate limiting or for watching for
list headers and not replying to those messages.  (My autoresponder also
refuses to reply to any message coming from an envelope sender ending in
-request or containing any of the words daemon, postmaster, mailer-daemon,
mailer, root, or majordomo.)  In combination with those other checks,
though, the additional check makes me feel a lot better about releasing
the autoresponder on an unsuspecting Internet.

Autoresponses to mailing list traffic are a personal annoyance of mine;
every time I, for example, send mail to the CVS mailing list, I get three
or four vacation messages and I'm extremely tired of it.  Given how much
it annoys me personally, I wanted to be reasonably certain that I wouldn't
be the cause of someone else being similarly annoyed.

> Or list-id, or mailing-list, or x-mailing-list, or x-ml-name.  I should
> actually add a test for ezmlm to check if a "Delivered-To:" line starts
> with "mailing list ".

I believe ezmlm always adds Mailing-List and Precedence; given that, I
don't see a reason for adding another rule.

(Precedence has been an informal standard for many years now, and no
reasonably maintained mailing list management package really has much
excuse for not using it, IMO.)

-- 
Russ Allbery ([EMAIL PROTECTED])             <http://www.eyrie.org/~eagle/>

Reply via email to