9

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.

Avery Payne
  • 14,326
  • 1
  • 48
  • 87
  • 5
    +1. How I hate it when I hear "I just sent an email and they haven't gotten it yet, what's the problem!?". My response: There is no problem. When did anyone say that email delivery is guaranteed and immediate? – joeqwerty Apr 27 '10 at 17:58
  • 1
    +1 I know what that feels like. – Antoine Benkemoun Apr 27 '10 at 18:45
  • 2
    If that ever happens to me, I'm going to post them a letter, call them up 30 seconds after putting it in the mailbox and then demand that they call the post office to get the letter delivered in the next 15 minutes, OR ELSE. – Mark Henderson Apr 27 '10 at 23:17
  • To those who have just recently arrived to view this question, just for the record, the rant-like formatting was intentional, as I'm poking fun (at misinformed people) and venting a little steam. Don't take it too seriously. – Avery Payne May 04 '10 at 14:52

3 Answers3

3

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)

Jim B
  • 23,938
  • 4
  • 35
  • 58
  • That sounds like a good reason ! – Antoine Benkemoun Apr 27 '10 at 20:24
  • +1 Nice! Although I'm curious about the trading firm's requirement for "timeliness", given that the message may still have delays on the recipient's email server...guess I'll chalk that one up to "but we made our best effort, it's out of our hands now", etc. – Avery Payne Apr 28 '10 at 01:12
  • @avery- delays on the client side could be looked at and in this case I am 100% certain that if the header showed that it was sent and recieved within minutes but not delivered to the email box for a while, someone had a very bad day. They were doing their best to set up an inter-firm IM. – Jim B Apr 28 '10 at 11:55
  • I take it this was in the days *before* XMPP. Still, great point! – Avery Payne Apr 28 '10 at 16:25
  • no, XMPP was around but it would have required that all of these firms set up some sort of xmpp server- email is the common denominator – Jim B Apr 28 '10 at 17:00
2

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.

John Gardeniers
  • 27,262
  • 12
  • 53
  • 108
  • Actually, I was just having fun with the markup. :) The question is half-rant, half-serious, so the *italics* and **bold** are just "part of the fun". It is serious that there are mailers that are somewhat "misconfigured" (and admittedly a smidge irritating), but it's also a bit of lampooning in the direction of "I don't understand why my email wasn't delivered in 360 milliseconds, so something is terribly wrong!" – Avery Payne Apr 28 '10 at 01:07
  • Oh, that and I've been (casually) accused of not stating my questions clearly; I thought the bold and italics worked well here, don't you? ;) – Avery Payne Apr 28 '10 at 01:15
  • No worries. Anyone who doesn't understand the issue from our perspective probably doesn't belong on this site anyway. – John Gardeniers Apr 28 '10 at 01:29
1

Thinking about it, I can maybe think there might be some sort of DoS attack if launced from inside where the client sends a crap load of emails to known invalid smtp servers. The would cause the mail server to start putting more load on itself as it keeps trying to resend.

I wouldn't called that I a good reason, but maybe it is at least "good sounding"? :-)

Maybe another reason might be "If it didn't work the first time, it probably won't, so lets let the user know right away. And I don't know how to make it alert that it is going to keep retrying". That one sounds even more lame to me though...

Kyle Brandt
  • 82,107
  • 71
  • 302
  • 444
  • Sure, at this point good sounding works as well as "the correct answer". But the point of this question was a bit of a thought exercise - namely, is there really a good reason, and I suspect there isn't ANY reason. Still, +1 for coming up with...something... – Avery Payne Apr 27 '10 at 17:58
  • 2
    How about "But email *is* instant messaging and ftp and alarms and file storage and ..." – Kyle Brandt Apr 27 '10 at 18:12
  • at the risk of instantly aging myself: ROFL. – Avery Payne Apr 27 '10 at 18:20
  • You're right in that email isn't designed to be used for instant messaging, and alarms, and whatever-the-hell else, but your users are most likely using it for that, and if what is happening isn't explained to them soon enough, they might panic. – Fahad Sadah Apr 27 '10 at 22:00
  • If anyone actually things your #2 reason IRL I will... give them a long lecture. If I decide to restart my mail server to install an update you can be damned sure it will be back online within 30 minutes, not "probably won't work again" – Mark Henderson Apr 27 '10 at 23:15
  • wait, they let you restart your mailserver where you are at... – Jim B Apr 28 '10 at 17:01