On 5/22/07, Charles Marcus <CMarcus@media-brokers.com> wrote:
- Have two 'special' user-specific folders (by special, I mean like the Drafts, Sent, Templates folders) that dovecot controls:
These are just special in terms of the client side of things. The only special folder might be 'Trash' and various '.expunge' folders if you go that route. This can be seen by the large number of people with Sent, Sent-Mail, Drafts, Postponsed, Junk Mail (and all the variants Outlook has created on the phrase 'junk mail' over the years)
a) one, that the user has read-only access to and shows up in his folders list, that is used only for system-related messages, like over-quota notices - and maybe even user-specific log-type errors could be delivered here? b) and one (hidden) that the user does *not* have access to, to temporarily hold messages that come in that are unable to be delivered due to an over-quota condition
Your taking control of my email and not delivering it? In my
experience this would cause both a potential backlash and a people resending mail. Especially since people really only look at their INBOX for new mail or particular folders they have scripted. Using a 'poll all fodlers for new mail' I could see I had new mail in your 'a' folder. But that would be the only way.
- When user is over quota, have LDA deliver to folder b (yes, accept the message for delivery from the sending mta), and then generate an over-quota message that is delivered to folder a.
Optionally, a bounce 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.
- 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, am willing to hear reasons how/why this is a terrible idea... :)
This is how it actually works right now if configured, only the 'B' folder is sender's /var/mail/spool and the 'a' folder is a intelligent client like thunderbird or squirrelmail with a indicator that goes nuts at a certain % full.
Off topic but you could also wrap your MTA (easily do this with exim and I am sure others) to 'deny message = "Achtung! your so over quota man"\ncondition = ${run{gimmequota.pl}}\nhosts = local_domains" if you want that instant 'halt your over quota' experience.
-- Gabriel Millerd