[Top] [All Lists]

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

2006-08-30 09:25:06

On Wed, Aug 30, 2006 at 11:39:51AM -0400, Eric A. Hall wrote:

On 8/30/2006 11:01 AM, Michael Kenny wrote:
I'm having problems sending to a 'greylist'-ing mail host and was wondering
what the correct response to the initial delivery rejection ought to be. I
was not able to find the answer in the RFCs. I was hoping someone here might

You should requeue the message for later delivery.

You did not fail to connect.

That's not what 450 indicates.

450 Requested mail action not taken: mailbox unavailable [E.g., mailbox busy]

This could very well be a problem on the MX itself.  It is not unreasonable to
try another mail exchanger that may be able to receive the message.  In fact,
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."

If this statement is revoked in a later update, I'm unaware of it (pointers

I think the question is what should prevail, the 4xx status or the 5xx status.

Perhaps the right thing to do is to scrap that last MX from the list of MXes
to try, keeping the one returning 4xx on the list.  Then also discard the 5xx
message and thus end up with 4xx -> retry.  Using the new list of MXes, retry
after a reasonable amount of time.  If no MX hosts remain on the list, return
the message to its sender.

This would mean keeping records on what MX hosts not to try when retrying to
deliver the message.