On Thu, Nov 29, 2012 at 3:08 AM, Robert Blayzor <[email protected]> wrote: > On Nov 28, 2012, at 10:47 PM, Todd Lyons <[email protected]> wrote: >> Tomorrow, I will be experimenting with jamming the following into a >> perl function (I use the embedded perl a lot) and call it as a >> condition for a verify_only router, and then defer with an appropriate >> quota related message is customer is already over quota to stop > Seems feasible and not that expensive, but possibly doing that check for each > and every RCPT could be costly overall depending on mail volume and number of > accounts you have. Perhaps adding something in to either touch a file in the > maildir or use something else (database or memcached) to say signal the box > is over quota if that condition happens. You could then check a timestamp > and determine if you want to run the more expensive operation or computing > the quota again. If the file time expires, recompute; if they're still over > quota, refresh the timestamp, if they're not, remove the entry and return an > under quota condition.
Sounds workable, but I don't know how you would check the timestamp without shelling out to something external or connecting to some external daemon that's already running. Since I already fork perl with each exim instance, I have lost nothing. You on the other hand, would now have the added load and memory pressure of forking perl for just this one thing. Sticky... > In our environment since this would be done as a router condition we already > know the homedir/maildir so we could just pass that into the Perl function > (one would hope). So that part of the code isn't really needed if you grab > that info early enough to pass it in. In my system, I don't yet know the homedir/maildir because it's part of the SQL lookup in the router. I can however construct it because I know how it's built, but I'd prefer the results from the lookup to be used. I dunno if that's easy at this point. Beginning testing... ...Todd -- The total budget at all receivers for solving senders' problems is $0. If you want them to accept your mail and manage it the way you want, send it the way the spec says to. --John Levine -- ## List details at https://lists.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://wiki.exim.org/
