Autor: Ted Cooper Data: A: exim-users Assumpte: Re: [exim] Retry on 550 errors
Heiko Schlittermann wrote: > Anyway - what about implementing the fallback_hosts feature not for
> temporary errors but for 5xx errors too?
>
> The rationale: There's a mail server sending from non-rDNS-able address.
> On most connections it works, but some reject this server with 5xx. In
> this, *only* this case I'd like to route the mails to some friendly
> smarthost...
>
> (The smart host uses callout for recipient checks, so if the 5xx is
> because of some other reason, it should reject the mail at SMTP time
> already, thus refusing its smart service.)
>
> Could please somebody explain me, why it's a stupid idea? ;-)
5XX error are permanent. An MTA is required to stop sending the message
and bounce/report back to the sender. The HUMAN sender may then do
whatever and then send the message again, with whatever changes are
necessary. Sending the message again in its current form will CONSTANTLY
fail.
The MTA is stupid, it can't read 5XX errors and decide what to do - 5XX
is permanent.
4XX is temporary. An MTA can attempt to retry sending the message,
probably following the recommended retry rules.
This is core to mail server communication between servers. If you screw
with this, you screw with servers being able to communicate properly.
It's not up to you, the mail administrator of the sending MTA, to decide
what the receiving MTA administrator intended when they decided what
will send what message. They did it for a reason, and they want it to
behave in one particular manner. Even if they have a completely broken
system that you can see is doing the wrong thing - they have to fix it.
If I found someone resending to a 5XX error, I'd firewall them out and
not even let them talk to the mail server, ever.
If you are sending from a non rDNS IP address and are experiencing
problem sending to servers - do the recommended thing and always
smarthost. Or, get your ISP to put in an rDNS. If they don't, change ISP.