Thus spake Sam Varshavchik on Thu, May 13, 2004 at 07:44:48PM CDT
The 4xx causes the sender to retry the delivery attempt, with the remaining recipients, later. What this accomplishes is that the list of recipients that do content filtering are separated from those that don't, and there's a separate delivery attempt for each group of recipients.
How many mail servers or clients that talk SMTP will continue a session after a 412 error?
If a mail server does not, it cannot be technically described as a "mail server".
Are they required to by RFC?
Yes. All 4xx return codes are defined as "temporary failures, try again later".
Squirrelmail aborts with an error and "Unknown Response".
Squirrelmail is not a server that fully implements SMTP.
First of all, why is Squirrelmail messing around with SMTP in the first place? It should be submitting all mail by running the sendmail command line wrapper.
ssmtp likewise aborts.
It's broken.
Will courier get past this point? I can force the issue if I'm talking SMTP directly to the server, but it seems that at least some corresponding clients will abort a session if they receive any response from the server is _other_ than a 200 class response.
Because they are nothing but stupid mail clients, and lack that anything resembles a mail queue. A 4xx error code means "try again later, for this recipient". That means that you need to hold this message in a queue somewhere, and have the requisite intelligence to try again the remaining recipients at some later point in time.
Stupid mail clients don't have anything that resembles a mail queue, so they just give up.
Now, one change that can be made is to disable all filtering completely if RELAYCLIENT is set. This is going to disable all content filtering for all senders with relaying privileges. I'm just not sure if we want to do that.
pgp00000.pgp
Description: PGP signature
