0

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=<...@google.com> to=<example@example.com> 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?

Tom
  • 51
  • 1
  • 5

1 Answers1

0

You have been pointed to an informational that contains a link titled "correctly configure commonly used MTAs for use with our public mirrors."

Read that page, then in the followup pages they are even giving you specific instructions on what to do, e.g.

# in place of smtpd_recipient_restrictions = reject_rbl_client zen.spamhaus.org
smtpd_recipient_restrictions = reject_rbl_client zen.spamhaus.org=127.0.0.[2..11]

The relevant Postfix documentation:

reject_rbl_client rbl_domain=d.d.d.d

Reject the request when the reversed client network address is listed with the A record "d.d.d.d" under rbl_domain (Postfix version 2.1 and later only). Each "d" is a number, or a pattern inside "[]" that contains one or more ";"-separated numbers or number..number ranges (Postfix version 2.8 and later). If no "=d.d.d.d" is specified, reject the request when the reversed client network address is listed with any A record under rbl_domain.

anx
  • 10,888