> Dear all, > > is rate limiting a part of Exim in the meanwhile? > > If not, did anyone implement such a thing and would be willing to share > his / her code? >
We use a small C program run (by a RCPT ACL) each time an authenticated user sends a RCPT command to exim. The program, that we call 'exilimit' queries information stored in a MySQL database to determine whether or not the user has exceeded their quota for outgoing emails. The system uses a decay function which not only allows all of the relevant information for a user to be stored in a single row of the database, but also provides a reasonable rate limit once the absolute limit has been reached. (The function used means that a user with an absolute limit of 100 emails per day may send an email every 23 minutes (approx) even after having sent 100 messages (if that makes sense). We believe that this provides protection against spammers while being acceptable to normal users. The downside, of course, is that this system increases system load. Rewriting the code as a daemon with persistent database connections would improve matters as would incorporating it into exim itself. However, we have not yet needed to do the former and the latter is beyond my coding abilities. I can post the code if anyone is interested - on the basis that it works for us, but no warranties. Clive Goodhead Cornwall Internet Limited > I found an old e-mail in the archives (dated 1999) where someone said he'd > written some perl script to keep analyzing the Exim mainlog for that. > > Regards, > Torsten > -- ## List details at http://www.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://www.exim.org/eximwiki/
