Name one good reason for immediately failing on a SMTP 4xx code

I'm really curious about this. The question (highlighed in bold):


Can someone name ONE GOOD REASON to have their email server permanently set up to auto-fail/immediate-fail on 4xx codes?


Because frankly, it sounds like "their" setups are broken out-of-the-box. SMTP is not Instant Messaging. Stop treating it like IRC or Jabber or MSN or insert-IM-technology-here. I don't know what possesses people to have the "IMMEDIATE DELIVERY OR FAIL" mentality with SMTP setups, but they need to stop doing that. It just plain breaks things. Every two or three years, I stumble into this. Someone, somewhere, has decided in their infinite wisdom that 4xx codes are immediate failures, and suddenly its OMGWTFBBQ THE INTARNETZ ARE BORKEN, HALP SKY IS FALLING instead of "oh, it'll re-attempt delivery in about 30 minutes". It amazes me how it suddenly becomes "my" problem that a message won't go through, because someone else misconfigured "their" SMTP service.

IF there is a legitimate reason for having your server permanently set up in this manner, then the first good answer will get the check.

IF there is no good reason (and I suspect there isn't), then the first good-sounding-if-still-logically-flawed answer will get the check.


I've set it up once that way because the owner wanted to know when emails were going to be delayed, and if so he wanted to change the text of the email. This was for a trading frim so I can understand the need for timeliness. Other than something like that I can't imagine why (and I thought that was a once in a blue moon setup)


From the RFC:

4.X.X   Persistent Transient Failure

   A persistent transient failure is one in which the message as
   sent is valid, but some temporary event prevents the successful
   sending of the message.  Sending in the future may be successful.

It's pretty clear that 4xx should only be sent in response to a temporary (transient being bad wording) problem. It follows therefore that there is no justifiable reason to treat it as an immediate error. It should be responded to be routine retries.

With that said, the excessive use of bold and italics suggests you take this matter not only seriously but personally. The best I can suggest is to just relax and not get so upset and strung out over someone else's idiocy.

When someone complains just point out that part of the RFC (leaving out the fact that an RFC is not a standard) and remind them that you have no control over how others set up their systems.