[Top] [All Lists]

Re: After a 450, queue or try next MX?

2006-08-30 11:23:34

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?