Summary | quota -- [ALERT] You exceeded your mail quota (again) |
Queue | IMP |
Queue Version | HEAD |
Type | Enhancement |
State | Rejected |
Priority | 2. Medium |
Owners | |
Requester | ismael (at) indatcom (dot) net |
Created | 05/16/2005 (7391 days ago) |
Due | |
Updated | 05/16/2005 (7391 days ago) |
Assigned | |
Resolved | 05/16/2005 (7391 days ago) |
Milestone | |
Patch | No |
State ⇒ Rejected
this, and if you want to discuss that or share other opinions, do it
on the mailing lists.
State ⇒ New
Priority ⇒ 2. Medium
Type ⇒ Enhancement
Summary ⇒ quota -- [ALERT] You exceeded your mail quota (again)
Queue ⇒ IMP
delete a message that's bigger than
the quota the user has left on his/her account, and since imap doesn't
support "moving" messages (as far as
i can tell, RFC1730 doesn't mention it, and even if it was so probably
Maildir++ quotas don't either) the user
gets the dreaded "[ALERT] You exceeded your mail quota."
After spending a weekend trying to figure out a way around this, i
think there could be a couple of workarounds,
not sure if the Virtual Trash Folder
(http://bugs.horde.org/ticket/?id=1082) is intented to fix this issue,
still
i would like to share my opionions about the matter.
Right now there are 2 ways for deleting messages:
1. Mark the deleted message (after that it's discounted from the
user's quota), and then purging the messages manually
to get rid of them forever. This option also opens up an abuse
possibility, a user can mark all his/her messages
as deleted, and never purge them, they will get discounted from the
quota and he will be able to recieve new mail, and
even read the "marked-deleted" messages without a problem. The only
drawback in this method is stetics on the inferface,
that you see a ton of marked messages, but having infinite quota beats that ;)
2. When you delete a message it gets "moved" to a trash folder of
choice, it actually copies the mail first and then it
gets expunged. The problem with this is obvious, when the user is
almost at full quota and the mail is bigger than the
quota he has left an error is given.
I personally like option number 2 for my users, but it doesn't work
with full quota.
A solution for that is as follows:
1. Mark the message deleted (effectively reducing the user's quota)
2. Copy the "already deleted" message to the trash folder of choice
3. Expunge the message from INBOX
It is actually the same procedure as number 2, just backwards, first
delete, and then "move".
For option number 1 i would also suggest an addition:
An option to delete-and-expunge on a single move, selectable on the
options area, so that the user "knowingly"
selects it for use. I would even go as far to say, be able to have 2
delete links, the normal delete link and
another which appears right beside it labeled Delete and expunge or
something like that, this link could also be
an option for the user to choose.
Of course with my suggestion to option number 2 we also would open
ourselves to having a trash folder full of
deleted messages which don't count towards the user quota and just
clobber up space on the server, so for that
there could be a related option which forces purging of
"mark-for-deletion" messages in the trash folder
automatically after x days, week, month whatever the sysadmin deems
necessary, it could even be an administrator-only
option, just to keep users from filling up their filesystems with
deleted messages.
There's even another solution for Courier-IMAP users,
IMAP_MOVE_EXPUNGE_TO_TRASH=1
This conf option for C-IMAP daemon is useful in this situation, it
automatically makes use of the "send to trash"
option, this is what happens:
1. Mark a message for deletion
2. Expunge the message
3. Courier-IMAP automatically makes a copy of the message on the trash folder
that you configure on the imap conf-file, and it's copied without
the delete mark.
What this does is allows us to kinda "move" the message to the trash
folder, because the quota
doesn't get affected after the movement, the new message in the trash
folder is counting towards
the user's quota. The only problem is that right now the way IMP works
for this to happen can't use
the option "When deleting messages, move them.....", and when you go
in the trash folder you have to
delete the messages there and purge'em. So IMP would need a little bit
of tweaking to place a link
in this case to Delete all messages in this folder, or something like that.
Anyways, i hope someone could add any of this options to IMP.
Thanks again for this great open source software.
Cheers,
Ismael Sanchez A.