Postfix limit total sent per hour

emailemail-serverpostfixrate-limitingspam

I'm not after services that could provide me with fancy fine-grained control like policyd, I don't need per user/domain control, I only want to:

limit maximim number of emails that could be sent trough Postfix mail
system per hour, preferably but not necessary excluding domains that
Postfix mail system itself handles.

Let's say I want to set limit of 200 messages per hour. Desired behavior is that 201 message holds until one hour period is over in order to be delivered.

I would be really amazed if solution to this could respect my previously set per-domain rate limits:

smtp_destination_concurrency_limit = 1
smtp_destination_rate_delay = 3s
smtp_extra_recipient_limit = 2

EDIT:
here are some configuration options that might be related to what I'm looking for:

anvil_rate_time_unit = 120s
smtpd_client_recipient_rate_limit = 4
smtpd_client_message_rate_limit = 4
smtpd_client_connection_count_limit = 1
smtpd_client_connection_rate_limit = 1

This configuration should limit 4 emails per 2 minutes, thus 120 per hour – but I'm not sure if it works.

Best Answer

You can configure Postfix to divert all messages to the hold queue, and an external script (which you'll need to write) can monitor this queue and release messages at the desired rate.