On Nov 28, 2012, at 7:53 PM, Jeremy Harris <jgh@???> wrote:
> Another possibility: retain the check in the transport but use it not
> to bounce the item in question but to set a flag on the account
> (in a DB, or an account-blocked file). Check that at RCPT time.
> Sure, they can go a bit over-quota. How much do you care?
Just need a way to trap the over quota condition and use a string expansion of some sort. The only problem with the above is that if they are over quota for quite a while, it could actually be over quota by a lot.
Totally eliminating the NDR's is not really the ultimate goal, but to greatly mitigate them. So the first time the condition hits, an NDR would be produced, but just one... If you can trap the condition and set some things up for the subsequent/future delivers you can suppress delivery for X minutes/hours, whatever.. Then when that expires, the check runs again, another NDR slips through the cracks, and it's suppressed for another X minutes/hours.
This would not be perfect as occasional NDR's still get through, but that might be ok. The worse effect is that a user reduces their quota but their mail rejects for maybe an hour (if you set it that high).
Maybe another way to explore dropping the NDR's is to be able to set the maximum retry attempts of the NDR created by being over quota. ie: Try to deliver the NDR X times (ie: 1-2) and if it can't be delivered, just remove it from the delivery queue.
--
Robert Blayzor
INOC, LLC
rblayzor@???
http://www.inoc.net/~rblayzor/