On Fri, 2023-06-23 at 13:29 -0700, Luke via mailop wrote:
> Default behavior is always to retry 4xx if there isn't a rule in place that
> overrides it. In this case, it was, and still is (i'm working on it)
> hitting another rule that was put in place to *not* retry a very specific
> 4xx that would never result in a successful delivery.
> 
> The full response in question is this: 450 4.3.2 Please retry immediately.
> If your message was rejected by a blacklist, see
> http://michael.orlitzky.com/articles/so_youre_blacklisted.xhtml for more
> information.
> 
> The bit of text in the string causing the trouble is the word blacklist.

I guess it's reassuring? that your system is fucking us specifically :)

It sounds like you've got yourself a spaghetti regex nightmare whose
behavior no one can truly predict. Maybe those ivory tower academics
who wrote RFC5321 were on to something when they wrote "An SMTP client
MUST determine its actions only by the reply code, not by the text."


> Unfortunately, we see a number of 4xx responses that contain the word
> blacklist and retries never succeed. For example, "450 4.3.2 your message
> was rejected because you're on a blacklist" is *not *retried because it's
> useless and *not* retrying is the appropriate thing to do for our
> customers.

I don't necessarily disagree with this, but here's another perspective.
Blacklists are hard to test in production because they rely on a third
party. When testing a new config, it's common (at least in postfix
land) to switch your reject code from 5xx to 4xx while you see how
things play out. Basically, you're giving yourself time to look at the
logs and decide if you're losing mail that you don't want to lose. When
you're satisfied, you switch the reject code back to 5xx. There are
several config parameters designed for this.

If someone is testing a new blacklist configuration and has switched
their reply code to 4xx to ensure that they don't lose any mail, you're
really doing a disservice by deleting their mail.


> What really confuses me about this discussion is the almost religious
> fervor around the idea that under no circumstances should a 4xx not be
> retried and under no circumstances should a 5xx ever be retried.

We just want things to work. The RFCs codify what's necessary for
everyone to get along. I've certainly had enough of my own time wasted
by this, and who knows how many important messages our customers have
lost as a result. All of it could have been avoided if you followed the
RFCs. I get that it would cost your company a little bit more money,
but saving yourself some money at everyone else's expense is selfish
and, in Bill's words, parasitic.

_______________________________________________
mailop mailing list
mailop@mailop.org
https://list.mailop.org/listinfo/mailop

Reply via email to