From iRedMail
iRedMail ships Policyd-1.8.x for sender & recipient throttling, but it's disabled by default. You can enable it by follow below steps on RHEL/CentOS:
- Disable sender throttling in /etc/postfix-policyd.conf, but enable recipient throttling:
| File: /etc/policyd.conf
|
SENDERTHROTTLE=0
SENDER_THROTTLE_SASL=0
SENDER_THROTTLE_HOST=0
RECIPIENTTHROTTLE=1 # <-- Enable recipient throttling in this instance.
|
- Enable throttling in /etc/policyd_sender_throttle.conf:
| File: /etc/policyd_sender_throttle.conf
|
SENDERTHROTTLE=1
SENDER_THROTTLE_SASL=1
SENDER_THROTTLE_HOST=0
RECIPIENTTHROTTLE=0 # <-- Disable recipient throttling in this instance.
|
Note: You may only enable SENDER_THROTTLE_SASL or SENDER_THROTTLE_HOST but NOT both.
- Edit /etc/init.d/policyd, set ENABLE_SENDER_THROTTLE='YES' to start another policyd instance for throttling:
| File: /etc/init.d/policyd
|
ENABLE_SENDER_THROTTLE="YES"
|
| Terminal:
|
# /etc/init.d/policyd restart
|
It will listen on two ports: 10031, 10032. You can verify it via command netstat:
| Terminal:
|
# netstat -ntlp | grep -i 1003
tcp 0 0 127.0.0.1:10031 0.0.0.0:* LISTEN 3454/policyd
tcp 0 0 127.0.0.1:10032 0.0.0.0:* LISTEN 3459/policyd
|
- Enable throttling in Postfix /etc/postfix/main.cf:
| File: /etc/postfix/main.cf
|
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032
|
Restart postfix:
| Terminal:
|
# /etc/init.d/postfix restart
|
That's all. Enjoy. :)