[Tickets #3716] NEW: Can't delete emails (to trash) when quota is full
bugs@bugs.horde.org
bugs at bugs.horde.org
Thu Mar 30 04:01:17 PST 2006
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/?id=3716
-----------------------------------------------------------------------
Ticket | 3716
Created By | tuomas.silen at nodeta.fi
Summary | Can't delete emails (to trash) when quota is full
Queue | IMP
Version | 4.1
State | Unconfirmed
Priority | 1. Low
Type | Bug
Owners |
+New Attachment | Message.patch
-----------------------------------------------------------------------
tuomas.silen at nodeta.fi (2006-03-30 04:01) wrote:
There seems to be some bugs in delete() function in lib/Message.php that
prevent emails from being deleted (or actually being moved to trash) when
quota is full.
First, on line 205 there is line
if (stristr('over quota', $error_msg) !== false) {
The definition of this function is stristr ( string haystack, string needle
)
So the parameters are mixed up and it probably never matches with anything.
Also at least with Courier IMAP, you get an error "You exceeded your mail
quota" so it certainly won't match.
Changing the line to
if ((stristr($error_msg, 'over quota') !== false) || (stristr($error_msg,
'exceeded your mail quota') !== false)) {
works for me.
Now the file gets deleted, but not moved to the trash and you still get the
quota exeeced error. This is because of an other bug on line 218:
if (!@imap_append($imp['stream'], $trash, $val)) {
This actually returns an error that INBOX.Trash does not exist, but
$error_msg
is not updated.
Apparently $trash should be IMP::serverString($trash).
Attached patch seems to fix these problems.
More information about the bugs
mailing list