This could be as simple as:
*** 1. 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 bounced - including, optionally, the Subject, the sender, date/time, 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 get back below a certain level (again, configurable)), 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.
*** 2. When user goes over quota, update the Quota Status message and move it to the Inbox.
Or how about using a virtual folder instead (assuming they will be supported in Dovecot in the near future). It would work like this:
- A read-only global folder called overquota (normally not accessible) contains one generic message saying that you are over quota and will not receive any new messages (with instructions on how to delete email to go under quota).
- Using virtual folders, when a user goes over quota, the user's inbox is shown together (merged) with the read-only overquota folder.
- When a user is back under quota, the inbox will go back to normal.
Using this method, no additional disk space is required for writing over
quota messages, so it would work with a hard quota or filesystem quota.
On the filesystem is only one message (owned by an admin) that would be
shown to everyone over quota - no need to have multiple copies of this
message.
Additionally, this method could be further developed and configured with a setting to warn users that they are almost at their limit (using a different virtual folder containing a "you're at 95% or 99% of your quota" message). Having a constant, new, important (flagged), un-deletable message in ones inbox would be a constant reminder that action needs to be taken.
Scott Alter