[Dovecot] Quota handling - v2 - updated FR

Kenny Dail kend at amigo.net
Wed May 23 19:05:14 EEST 2007


> This revised proposal for a Feature Request is the result of my desire
> to implement quotas, but not have the attendant headaches that
> inevitably accompany its implementation.
> 
> Ralf Hildebrandt wrote:
> > I have to face it, my users are retards:
> 
> Is there any other kind of user?  ;)
> 
> <snip>
> 
> > Thus I need a feature in dovecot that will tell them via email:
> >
> > Level1: "You ALMOST exceeded your quota, you're at 90% now"
> > Level2: "You're very close to exceededin your quota, you're at 95%
> > now"
> > Level3: "Would you please clean up now? You're at 99% now"
> 
> What I'd *really* like to see implemented is something along the lines
> outlined below - but of course, this will depend entirely on whether or
> not Timo thinks it is doable - or desirable...
> 
> I'm thinking this would be best handled by the Quota plug-in - either as 
> part of the current one, or as a separate/different one...
> 
> *** 1. Have a 'special' user-specific folder (by special, I mean like 
> the Drafts, Sent, Templates folders) that dovecot controls. For purposes 
> of this FR, call it the 'over-quota' folder.
> 
> Question: could the .tmp folder be used for this? No sense in 
> reinventing the wheel if necessary... and then if someone migrated from 
> dovecot to something else, and messages were left in there from an 
> over-quota condition, that other solution would most likely just move 
> these to .new the first time it ran, right?
> 
> Or, possibly, could dovecot create a new one maybe, .oqt (for 
> over-quota), and store the queued messages there until the over-quota 
> condition was rectified?
> 
> Anyway, the main thing is, this folder should be essentially hidden from 
> the user so they do *not* have access to it, and should temporarily hold 
> messages that come in that are unable to be delivered due to an 
> over-quota condition.
> 
> *** 2. Make dovecot aware of and use a special 'Quota Status' message 
> that it uses to inform a user that they are over quota. This message 
> should be able to be customized, with variables (like, for example, it 
> should list the messages that are currently being prevented from being 
> moved to the Inbox - including, optionally, the Subject, the sender, 
> date/time, attachments, size, etc - as well as provide general quota 
> information (ie, how close to or over quota they are, and how much 
> they'd need to delete or move to Local Folders to allow delivery of all 
> of the messages being held), and lastly, any custom information the 
> System Admin wanted to provide - like, maybe, specific instructions for 
> how to move messages to Local Folders, how to request additional storage 
> allowance, etc.
> 
> *** 3. When user is over quota, have LDA deliver to the folder 
> referenced above (# 1) - (yes, accept the message for final delivery 
> from the sending mta), and then update the Quota Status message and move 
> it to the Inbox.
> 
> Optionally, a bounce/notification could be generated to the sender, 
> informing them that their message is being 'held in queue' or something 
> to that effect, due to the recipient being over-quota.
> 
> *** 4. Once the user deletes enough mail to come back under quota, 
> dovecot would then move messages from the 'over-quota' folder to his Inbox.
> 
> Ok, again, am willing to hear *valid* reasons how/why this is a terrible 
> idea... :)
How is this different from just telling the customer there quota has
been increased by the size of their .oqt box? Quota is there for a
reason at my work, to stop accepting mail if the user already has too
much mail. As we deal with customers, and can't just fire them for being
too stupid, it is much better to give them a clear policy with no fuzzy
grey areas. I think this also better in the case of the few employees I
have to support as well.

A hard bounce is the right way to go in this case, because it will let
the sender know right away that there is a problem sending to the user.
A soft bounce may take days of retrying before the sender is aware of a
problem, especially since very few servers can handle a quota bounce at
the smtp level.

The recipient is probably going to be oblivious that a problem exists
because if they are over quota, it usually means they haven't been
checking their mail and will not see a quota warning message. 89% of the
cases I see of users over quota, is due to negligence. 10% is for
mailboxes that are no longer in use. I wouldn't think it a good idea to
allocate extra disk space to either of these cases. The other 1% calls
us to ask for more space which we gladly sell to them.
-- 
Kenny Dail <kend at amigo.net>



More information about the dovecot mailing list