On Wed, Aug 30, 2006 at 01:20:12PM -0400, Eric A. Hall wrote:
RFC974 has this to say:
"Implementors are encouraged to write mailers so that they
try the MXs in order until one of the MXs accepts the message, or all
the MXs have been tried."
Yay, my favorite IETF pastime, fun with scripture
Taken literally that text would also require you to chain through every MX
upon receipt of a 5xx error, and hopefully people aren't doing that.
Indeed, it is saying this. And if the RFC is asking for this, anyone
with a spamtrap-MX (what are they called officially?) now has a problem.
The solution: keep track of attempts, and only flag a message as spam
when the same address pair wasn't recently attempted on a higher
preference (lower number) MX.
Also, 974 was obsoleted by 2821, which rephrases the point:
When the lookup succeeds, the mapping can result in a list of
alternative delivery addresses rather than a single address, because
of multiple MX records, multihoming, or both. To provide reliable
mail transmission, the SMTP client MUST be able to try (and retry)
each of the relevant addresses in this list in order, until a
delivery attempt succeeds. However, there MAY also be a configurable
limit on the number of alternate addresses that can be tried. In any
case, the SMTP client SHOULD try at least two addresses.
Which essentially does say the same: keep trying the list.
RFC974 _recommends_ doing this. RFC2821 makes it obligatory, but does
allow a sane limit to the amount of MXes to try.
Where does it say the client should stop trying after a 5xx message?
And I mean stop trying the entire list, not just that one host?