During testing/investigation of an issue, I had to send “bad emails” to my Exim based mail server which after a number of attempts blocked me using the rate limit that had been configured:
451-The server has reached its limit for processing requests from your host.
451 Please try again later.
I didn’t want to wait for over an hour for the block to clear so I had to find out how to clear the block manually. On the mail server, I found the Exim data files in
/var/spool/exim/db and using the
exim_dumpdb tool to view the “ratelimit” block list:
# exim_dumpdb /var/spool/exim/ ratelimit
and then limiting it to the sending IP address (which I had checked via /var/log/exim_rejectlog ):
# exim_dumpdb /var/spool/exim/ ratelimit | grep 2001:db8:9:a:: 28-Oct-2022 16:50:01.247104 rate: 1.877 key: 1h/per_mail/2001:db8:9:a:: 28-Oct-2022 16:50:14.986765 rate: 1.937 key: 1h/per_conn//2001:db8:9:a::
Okay, that’s confirmed the block – but now to remove it. To do this, I had to use the “practically no documentation and no ui” tool
exim_fixdb /var/spool/exim/ ratelimit
It then just showed a prompt “>” with no instructions. But if the “key” was provided:
# exim_fixdb /var/spool/exim/ ratelimit Modifying Exim hints database /var/spool/exim//db/ratelimit > 1h/per_mail/2001:db8:9:a:: 28-Oct-2022 16:50:01 0 time stamp: 28-Oct-2022 16:50:01 1 fract. time: .247104 2 sender rate: 1.877
d” then deleted that record (and I repeated it for the other entry). Once I had finished, I just used “
q” to quit
Hope it helps!