The last time SendGrid's failure to retry 4xx came up here, their
response was that, when determining whether or not to retry, they
analyze not only the 4xx code but also the associated text. If (based
on those data) a retry is statistically unlikely, they won't do it.

The RFC forbids doing that, and I argued against it -- not just on
principle, but because when 99% of your mail is spam and 1% is not,
grouping them together introduces a base-rate fallacy into your
decision-making process.

Regardless, it looks like I was wasting my time: their explanation is
incomplete at best. Since then I've patched our mail server to reply
with unique 4xx text. Retries to us will almost always succeed, so our
unique (code,text) pairs, being unaffected by anyone else, should be
associated with a high probability of success. Still, they choose not
to retry.

These are a pair of tickets for Hershey Park that a family has been
waiting on for two days:

  # grep 'hersheypa\.com' /var/log/mail/mail.log*

  mail.log-20230620:Jun 20 09:25:53 mx1 postfix/postscreen[23626]:
  NOQUEUE: reject: RCPT from [159.183.156.68]:36108: 450 4.3.2 Please
  retry immediately;
  from=<bounces+24042819-b16d-deb=example....@em4258.hersheypa.com>,
  to=<d...@example.com>, proto=ESMTP, helo=<o1.ptr6670.hersheypa.com>

SendGrid silently deleted them. We want your mail; please stop using
SendGrid. Thanks for listening.
_______________________________________________
mailop mailing list
mailop@mailop.org
https://list.mailop.org/listinfo/mailop

Reply via email to