Re: [Exim] Bug in Exim's internal Quota mechanism

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Drew Skinner
CC: exim-users
Subject: Re: [Exim] Bug in Exim's internal Quota mechanism
On Fri, 17 Nov 2000, Drew Skinner wrote:

> Now the end user is sometimes getting this warning message. It
> appears to be delivered somewhat haphazardly - I believe it IS being
> sent after a large file
> is received, but not if the user receives many smaller emails.


It should get delivered, once, when the mailbox crosses the threshold.

> Here is a user mailbox
>
> -rw-rw----   1 dougk    mail     13059795 Nov 17 16:18 /m/dougk

>
> When I check for the warning message I get the following:
>
> nostromo # cat /m/dougk |grep "Subject: Your mailbox"
>
> Obviously no message is there. This user has 343 emails in the account.


It was reported on this list some time ago that some users just delete
such warning messages, because they don't understand them.

> If
> I send a large file, to a mailbox that is over the 75% threshold that mailbox
> will get the warning.


No. It doesn't work like that. Exim should send the warning only when
the mailbox *crosses* the threshold with the current message. Otherwise
there will be too many warnings.

> I would like to request a feature such as:
>
> quota_exceed_message
>
> Which could be sent to the user when they are over limit, in fact it should
> be the mandatory "last thing" that exim appends to a users mailbox until the
> mailbox is under quota once again.


This is difficult, because Exim does not necessarily deliver messages
one at a time. There may be several processes, all trying to deliver to
the same mailbox. Also, the default quota handling operates like a
system quota - that it, it just has a hard limit above which it won't
go. So a small message may fit when a large one does not.

The next release of Exim has quota_is_inclusive, which, if set false,
does a quota check that does not include the current message. Thus, Exim
goes on delivering until the quota is exceeded, then stops solid. With
this set, you can write a script that periodically checks mailboxes. For
any that are over quota, it knows Exim won't write to them. It can then
add the warning on the end, if it can't find the warning already there.
[It was a user who did this who noticed that users just deleted the
warning, because the script kept putting it back...]

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.