No final, usei policyd que faz exatamente esse tipo de coisa. Configurei-o para limitar um único endereço IP a não mais que 10000 mensagens por hora e 1 GB. Abaixo está uma cópia do documento que eu escrevi para mim, caso alguém ache útil.
Configurando o postfix e o policyd
Após a instalação dos pacotes, faça as seguintes alterações em suas configurações. Em /etc/postfix/main.cf adicione a seguinte linha
smtpd_client_restrictions = check_policy_service inet:127.0.0.1:10031
No /etc/postfix-policyd.conf
- altere
WHITELISTING=1
paraWHITELISTING=0
- altere
GREYLISTING=1
paraGREYLISTING=0
- altere
SENDERTHROTTLE=0
paraSENDERTHROTTLE=1
- altere
QUOTA_EXCEEDED_TEMP_REJECT=1
paraQUOTA_EXCEEDED_TEMP_REJECT=0
- altere
SENDER_QUOTA_REJECTION="Quota Exceeded."
paraSENDER_QUOTA_REJECTION="Quota Exceeded, 10,000 messages/hour max!"
- altere
SENDER_SIZE_REJECTION="Message size too big."
paraSENDER_SIZE_REJECTION="Message size too big. 10Mb per message or 1 Gb/hour max!"
- altere
SENDERMSGLIMIT=512
paraSENDERMSGLIMIT=10000
- altere
SENDERRCPTLIMIT=3600
paraSENDERRCPTLIMIT=10000
- altere
SENDERQUOTALIMIT=250000000
paraSENDERQUOTALIMIT=1000000000
- altere
SENDERMSGSIZE=10240000
paraSENDERMSGSIZE=50000000
- altere
SENDER_INACTIVE_EXPIRE=31d
paraSENDER_INACTIVE_EXPIRE=1h