decorative cornerdecorative corner

Yahoo 421 Temporarily Deferred Problem

a solution to the Yahoo 421 Temporarily Deferred problem -- Nov 7, 2008

Like others on the Internet, I have been fighting Yahoo's 421 Message from (xxx) temporarily deferred problem. Found part of the problem to be the way Yahoo identifies bad or obsolete e-mail addresses.

Normally, a bad e-mail address is identified with a SMTP response code 550 Recipient unknown message. Your e-mail server sees code 550, stops everything, and lets you know that the e-mail address is not valid.

Yahoo, for whatever reason, responds with code 250 recipient ok and not with 550 -- even if the address is bad. Later on in the transaction, Yahoo will post a code 554 delivery error: This user doesn't have a account or code 554 delivery error: Sorry your message to cannot be delivered. This account has been disabled or discontinued.

According to the official documentation, code "554 is to be used to reject a MAIL FROM, RCPT TO, or DATA command that contains something improper". Technically, their use of code 554 is correct. However, everyone else just uses code 550 recipient rejected. Many e-mail server programs assume code 554 is a temporary, not permanent, problem.

When your e-mail software assumes code 554 is a temporary problem, it keeps retrying the message and triggers Yahoo's dreaded spam enforcer -- the infamous 421 Message from (xxx) temporarily deferred response.

The moral of this story: if you run an e-mail list, keep an eye out for undelivered messages to Yahoo addresses and look for a code 550 response.

Follow Up...     11/18/2008

Installed a new version of MDaemon (highly recommended e-mail server software). In going thru the documentation, came across this option, "Bounce message on first 5XX error from any of receiving domain's MX hosts".

I had been upgrading from one version of MDaemon to the next over the years and, on my server, that option had been left unchecked. The joys of grandfathering [maintaining existing] server settings. The default setting is checked.

Turning on that option pretty much solved the Yahoo 421 problem. And identified a bunch of dead Yahoo e-mail addresses in the mailing lists I host.

Moral #2: Go thru your software documentation every so often and see if your settings make sense.