RE: [Exim] Access denied error and retries

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Darren Mackay - Lists
CC: exim-users
Subject: RE: [Exim] Access denied error and retries
On Fri, 23 Mar 2001, Darren Mackay - Lists wrote:

> So are you are saying that upgrading to exim v3.22 will actually bounce the
> messages rther than attempting delivery on an alternate smarthost?


I am.

> If this
> is the case this would in fact create quite a problem with users compalining
> mail is bouncing just because the ISP uses an MTA that does not fully
> conform to the RFCs (it is also very unlikely that the ISP will change their
> MTA either - they are using a custom version of sendmail I believe).


I'm sorry, but if an MTA doesn't conform to the RFCs in too gross a way,
what can I do? Exim was changed from its previous incorrect behaviour
because people pointed out that it was buggy, and that it should bounce
messages when it received an initial response such as "554 No SMTP
service here".

If you look at RFC 821, which has been around for nearly 20 years, you
find this:

      COMMAND-REPLY SEQUENCES


         Each command is listed with its possible replies.  The prefixes
         used before the possible replies are "P" for preliminary (not
         used in SMTP), "I" for intermediate, "S" for success, "F" for
         failure, and "E" for error.  The 421 reply (service not
         available, closing transmission channel) may be given to any
         command if the SMTP-receiver knows it must shut down.  This
         listing forms the basis for the State Diagrams in Section 4.4.


            CONNECTION ESTABLISHMENT
               S: 220
               F: 421
            HELO
               ...


Notice in particular that it explicitly mentions "421 (service not
available)". I don't think you can get clearer than that.

There is a replacement for RFC 821 that is almost an RFC. In addition to
421, which can be given to any command, it lists 554 as a possible
initial value:

   554 Transaction failed  (Or, in the case of a connection-opening
       response, "No SMTP service here")


Clearly, "no SMTP service here" is a case where you want to bounce the
message.

Exim is an "unsophisticated MTA" in that it only ever looks at the first
digit of the response code, so it will treat all 5xx errors in the same
way. (Incidentally, 500 has always been "syntax error".)

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.