So my server out or the blue started rejecting all incoming mail and I pinpointed it to zen.spamhaus.org
blocking everything because of an "excess volume" response from spamhaus.org
:
2024-11-28T11:57:46.954637-07:00 mail postfix/smtpd[338]: NOQUEUE: reject: RCPT from mail-vk1-f177.google.com[209.85.221.177]: 554 5.7.1 Service unavailable; Client host [XX.XX.XX.XX] blocked using zen.spamhaus.org; Error: excess volume; https://check.spamhaus.org/returnc/vol/XX.XX.XX.XX/; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-vk1-f177.google.com>
I have zen.spamhaus.org
set as part of a few RBLs in the smtpd_recipient_restrictions
: reject_rbl_client zen.spamhaus.org
and commenting this one out does "solve" the issue in that emails at least get delivered.
So I was wondering if there might be a way to look at the excess volume
error, and if I see that error then just pass/ignore that error rather than blocking the delivery. I was looking through the postfix docs but couldn't find anything obvious.
It seems like rbl_reply_maps
has access to the return error codes, but I'm not sure if it has the ability to override or skip that rbl check.
The default_rbl_reply
configuration option is mostly just to format an error message after the rbl rejected it. Similarily, maps_rbl_reject_code
also only seems like a mechanism to translate to specific smtp error codes.
Am I missing something? It feels like there's got to be a way to customize handling the RBL response and turn specific rejections into a "pass" of some sort?