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.
Postfix does not have that feature by default, you will have to use external program policyd to enforce that rule. I believe you will find the knowledge you seek in this link: http://ngocquyetlinux.blogspot.com/2013/05/limit-mail-with-policyd.html
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.