Autor: Vadim Vygonets Data: A: Exim Users Mailing List Assumpte: Re: [Exim] RFC 2821 and "headers_sender_verify"/"headers_checks_
Quoth Greg A. Woods on Wed, May 16, 2001: > First off remember that e-mail autoresponders are MUAs! They act only
> on behalf of a user (even if it's a virtual user). They must act only
> in the way any user agent may! For example "vacation" programs should
> follow RFC-822 rules for choosing the reply address!
But maybe they should also check the envelope sender address to
avoid replying to MAILER-DAEMON? "if not errormessage"?
I know what you're going to say: /usr/ucb/vacation doesn't reply
to messages coming from *-REQUEST, Postmaster, UUCP, MAILER or
MAILER-DAEMON. I'm sorry, but this is a bogus algorithm. I
believe there exist mailers that send bounce messages from some
other address. Moreover, many mailing list managers nowadays
send mail not from *-REQUEST, but from *-bounces or things like
bsdi-users-owner-vadik-bsdi=cs.huji.ac.il@??? (but
this is solved with a wholly different statement, "if personal").
> Autoresponders rarely set their reply address to be themselves,
What does /usr/ucb/vacation set the reply address to?
> but when
> they do they are the only ones that need to avoid self-looping. Eg. if
> there are two users with vacation programs configured to set the reply
> address in their message to be their own mailboxes then you don't want
> them to auto-answer each other. The manual page for the vacation
> program shows the use of the "Precedence" header field in its example
> message as a way to avoid this.
But other (non-BSD) vacation programs or other types of
autoresponders may not respect the non-standard Precedence:
header. So if one of the vacationaires uses UNIX and the other,
say, Windows, there *will* be a loop (by your algorithm).
Remember, you usually don't get any traces of the original
message back in the autoreplied message.
[Nor is the Delivered-By-The-Graces-Of: header standard, BTW.]
> Most e-mail autoresponder user agents also use several common de facto
> standard mechanisms to further avoid interacting with dissimilar agents,
Several *different* de-facto standard mechanisms.
> such as filtering on various well-known reply addresses,
Bogus, see above.
> keeping a
> database of addresses responses have been sent to and only sending one
> message (perhaps per intervale) to each address,
Much better.
> and with such shared
> mechanisms like the "Precedence" field.
Respected by few, see above.
> See for example these two
> fairly self-obvious functions from my version of vacation.c.
Nice, but I would define it as a dirty hack (no insult intended).
When you think whether or not to set the sender address to <>,
you need to ask yourself: do I want to get bounces if this
message is not delivered? And how will I prevent mail loops if
the responder on the other side just responds without leaving any
sign that the message is an automatic reply, or any traces from
the original message?
Vadik.
--
Do not meddle in the affairs of sysadmins, they are quick to
anger and have no need for subtlety.