At 20:29 +0000 2003/03/15, Philip Hazel wrote:
[...]
>On Sat, 15 Mar 2003, Giuliano Gavazzi wrote:
>
>> 554 Transaction failed (Or, in the case of a connection-opening
>> response, "No SMTP service here")
>
>Right. So if an address is routed to such a host, something is screwed
>up (unless this is deliberate). Bouncing the message causes someone to
>pay attention.
This makes sense, but it does not help in making the delivery.
Perhaps one could generate a warning message (back to the sender) and
attempt to deliver to another MX. Contrary to what Greg said in
another message, it seems that retries can be at different intervals:
The sender MUST delay retrying a particular destination after one
attempt has failed. In general, the retry interval SHOULD be at
least 30 minutes; however, more sophisticated and variable strategies
will be beneficial when the SMTP client can determine the reason for
non-delivery.
in the present case, since we clearly hit a non-smtp server, we could
try one other MX immediately.
I think that after all the authors of the RFC wanted just to give the
protocol a chance to say that it is not an implementation of the
protocol.. two possibilities are:
1) a decommissioned SMTP server that still, due to DNS caching,
appears as MX for some domain. This is clearly a permanent (mail
system) error and so must be 55X.
2) some server implementing another protocol on port 25. Starting the
connection with a 554 greeting would at least stop other SMTP server
hanging on it. (Someone will ask what have I been smoking..)
> > What I am less sure about is if it is appropriate to fail all
>> addresses when the 5XX error (504, 550) is in response to the HELO.
>
>Again, I argue that if you don't, you are treating 5xx as 4xx, which
>seems wrong.
although there is one case when 5xx should be treated as 4xx (552 as
452), I agree with you in general. I just though that the failure
should have not been associated to the destination addresses
themselves (as they had not yet been used in the transaction). It was
because of my lack of knowledge of the workings of exim (as I said I
did not read the sources) that I though another error state could
have been returned.
Giuliano