4

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.

6
  • 1
    A very crude approach would be to rate limit outgoing connections using IPtables. Jun 28, 2016 at 10:05
  • @AndréBorie Would that be feasible? Jun 28, 2016 at 10:41
  • Feasible, yes. But also awful and definitely not the right tool for the job. Jun 28, 2016 at 10:44
  • 1
    Isn't this a duplicate of: serverfault.com/questions/110919/…? I also don't understand why you think that smtp_destination_rate_delay won't do what you need.... Jul 8, 2016 at 6:44
  • 3
    @DictatorBob smtp_destination_rate_delay applies per domain, AFAIK. Jul 9, 2016 at 6:59

2 Answers 2

2

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.

2
  • Sorry but this answer was not helpful.
    – busythomas
    Aug 12, 2020 at 15:50
  • @busythomas I found it helpful, at least gives a piece of the puzzle. I actually really like that, I can program any algorithm I want to manage the emails.
    – Wadih M.
    Nov 2, 2022 at 10:07
2

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

1
  • Thank you, I tried policyd and unfortunately it was causing high server load. I do not recommend Policyd.
    – busythomas
    Aug 12, 2020 at 15:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .