On 11/28/2012 11:29 PM, Robert Blayzor wrote:
The logic is obviously in Exim somewhere to check a users quota, but it seems 
to only exist in the transport level.  There are two possible solutions, but 
how?

1)  Have a function in Exim which can be passed a homedir/maildir and quota to 
check. (Maildir++ for example).  This could then be used in a router condition 
to fail the recipient verification.  (possibly an expensive operation)

2)  Have a way to trap the over quota in the transport level.  This could then be used to 
possibly call something to signal routers in future SMTP transactions that this mailbox 
is currently full and to back off attempting mail delivery.  ie:  first message comes in, 
hits the transport, the mailbox is over quota, the trigger could run an external command, 
use readsocket to something like memcached to mark the mailbox as "currently over 
quota".  Subsequent new emails coming in for X minutes will be denied in a router.

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?
--
Jeremy


--
## 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/

Reply via email to