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=1paraWHITELISTING=0 - altere
GREYLISTING=1paraGREYLISTING=0 - altere
SENDERTHROTTLE=0paraSENDERTHROTTLE=1 - altere
QUOTA_EXCEEDED_TEMP_REJECT=1paraQUOTA_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=512paraSENDERMSGLIMIT=10000 - altere
SENDERRCPTLIMIT=3600paraSENDERRCPTLIMIT=10000 - altere
SENDERQUOTALIMIT=250000000paraSENDERQUOTALIMIT=1000000000 - altere
SENDERMSGSIZE=10240000paraSENDERMSGSIZE=50000000 - altere
SENDER_INACTIVE_EXPIRE=31dparaSENDER_INACTIVE_EXPIRE=1h