Author: John Sloan Date: To: Philip Hazel CC: exim-users Subject: Re: [Exim] Failing behviour based on SMTP codes.
On Tue, 17 Oct 2000, Philip Hazel wrote:
> I've looked at the code. Exim was treating any error before it sent MAIL
> FROM as a temporary, host-specific error. On thinking about it, I've
> decided this is wrong. I have therefore made the following change to the
> development source:
>
> 9. Exim was treating a 5xx response on connection to an SMTP server, or in
> response to HELO, in the same way as a connection failure - that is, as a
> temporary error, causing the message to be tried again later. It now bounces
> all the addresses in these situations.
>
> [Note for the purists: a 5xx response to EHLO causes it to try HELO,
> which is why it says HELO there rather than EHLO.]
>
>
> A Question For The List:
>
> This seems the Right Thing in the case when there's only one host
> involved. It is less obvious in the case where the domain routes to two
> hosts, and the first one that is tried gives one of these 5xx codes. Do
> you try the other host? With this new code Exim does not. This is the
> same behaviour as happens with a 5xx response to MAIL FROM or RCPT TO,
> and I think it's the right thing to do, but do you agree?
Interesting question. I think my answer would be "Maybe".
Consider the case of a intermittently connected host who uses their ISP as
backup MXes. Let us assume that that ISP may have filters on thier MX
hosts which aren't the same as those on their customers' SMTP host (spam
blocks most likely).
Is it safe to assume that because the backup MX refuses to accept a
message of that form that the primary MX would as well? This seems to be
the implication of treating an 5xx error from any MX for a domain as a
permanent bounce.
There is certainly an argument that this should be the case - that if you
allow another server to be a backup MX for your domain then you're giving
it the authority to bounce messages on your behalf.
Equally well there is an argument that only the lowest value MX should be
able to make that sort of decision.
Finally, you could argue that this should be considered a permanent error
for that host only, and that any other MX for that domain is still fair
game.
Of these I think that the first - that an 5xx means 5xx, no matter whom it
is from - is the most attractive in terms of minimising the number of
transactions involved and of getting a bounce back to the sender in an
expedient fashion.