Rate limit exim per user basis
Solution 1:
Expanding on HBruijn's answer, I recommend this ACL segment:
# Keep authenticated users under control
deny authenticated = *
set acl_c_msg_limit=${lookup{$sender_address}nwildlsearch{/etc/exim/send_limits}}
ratelimit = $acl_c_msg_limit / 1d / strict / $authenticated_id
Then you create the /etc/exim/send_limits file and have this in there:
# Commented lines and blank lines are ignored
# Format is EMAIL: LIMIT
[email protected]: 100
[email protected]: 200
[email protected]: 100
# Must be the last line, this is the default limit
*@*: 50
This is untested, but it should get you headed in the right direction.
Solution 2:
The manual has a configuration example for a user based rate limiting setting:
# Keep authenticated users under control
deny authenticated = *
ratelimit = 100 / 1d / strict / $authenticated_id
That restricts authenticated senders to 100 messages per day but which would also be global for all authenticated users.