[imp] Problem purging mailbox with "uw-imap mix" format

Andrew Morgan morgan at orst.edu
Mon Nov 14 17:00:53 UTC 2011


On Mon, 14 Nov 2011, Jan Schneider wrote:

>
> Zitat von agustin at iuma.ulpgc.es:
>
>> Quoting Jan Schneider <jan at horde.org>:
>>
>>> Zitat von Agustín Quintana Alfonso <agustin at iuma.ulpgc.es>:
>>>
>>>> English is not my native language; please excuse typing errors.
>>>>
>>>> We have this configuration:
>>>>
>>>> * Production environment
>>>>
>>>> Webmail server
>>>> --------------
>>>> OS: Fedora Core release 3
>>>> Webserver: Apache 2.0.53
>>>> PHP: 4.3.11
>>>> Horde (horde): 3.1.3
>>>> Mail (imp): 4.1.3
>>>>
>>>> IMAP server
>>>> -----------
>>>> IMAP server: UW-IMAP 2007e.404
>>>> Default mail folder format: mbx
>>>> The server supports the following IMAP capabilities:
>>>> IMAP4REV1 I18NLEVEL=1 LITERAL+ IDLE UIDPLUS NAMESPACE CHILDREN 
>>>> MAILBOX-REFERRALS BINARY UNSELECT ESEARCH WITHIN SCAN SORT 
>>>> THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND SASL-IR 
>>>> LOGIN-REFERRALS AUTH=PLAIN AUTH=LOGIN
>>>>
>>>> * Test environment
>>>>
>>>> Webmail server
>>>> --------------
>>>> OS: Ubuntu 10.04.3 LTS
>>>> Webserver: Apache 2.2.14
>>>> PHP: 5.3.2
>>>> Horde (horde): 4.0.10
>>>> Mail (imp): 5.0.14
>>>> Imapproxy: 1.2.6
>>>>
>>>> In order to improve performance, we convert some mailboxes to 
>>>> uw-imap "mix" format.
>>>>
>>>> The problem in test environment (traditional and dynamic mode): if 
>>>> we DISABLE "When deleting messages, move them to your Trash folder 
>>>> instead of marking them as deleted?" and we mark some messages for 
>>>> deletion, when we purge the mailbox ALL messages are deleted. This 
>>>> doesn't happen with mbx format.
>>>> No problem with other email clients: Thunderbird, Outlook,...
>>>> No problem with the production environment.
>>>>
>>>> Log example with mbx format in test environment (read mailbox, 
>>>> mark message for deletion, purge mailbox):
>>>>
>>>> 
> ================================================================================
>>>> C: 2 SELECT entraba_mbx
>>>> S: * 3 EXISTS
>>>> S: * 0 RECENT
>>>> S: * OK [UIDVALIDITY 1320933381] UID validity status
>>>> S: * OK [UIDNEXT 99] Predicted next UID
>>>> S: * FLAGS (\Answered \Flagged \Deleted \Draft \Seen)
>>>> S: * OK [PERMANENTFLAGS (\* \Answered \Flagged \Deleted \Draft 
>>>> \Seen)] Permanent flags
>>>> S: 2 OK [READ-WRITE] SELECT completed
>>>> C: 3 UID EXPUNGE 1:*
>>>> S: * 2 EXPUNGE
>>>> S: * 2 EXISTS
>>>> S: * 0 RECENT
>>>
>>>> 
> ================================================================================
>>>>
>>>> Log example with mix format in test environment (read mailbox, 
>>>> mark message for deletion, purge mailbox):
>>>>
>>>> 
> ================================================================================
>>>> C: 2 SELECT entrada_mix
>>>> S: * 3 EXISTS
>>>> S: * 0 RECENT
>>>> S: * OK [UIDVALIDITY 1320933381] UID validity status
>>>> S: * OK [UIDNEXT 102] Predicted next UID
>>>> S: * FLAGS (\Answered \Flagged \Deleted \Draft \Seen)
>>>> S: * OK [PERMANENTFLAGS (\* \Answered \Flagged \Deleted \Draft 
>>>> \Seen)] Permanent flags
>>>> S: 2 OK [READ-WRITE] SELECT completed
>>>> C: 3 UID EXPUNGE 1:*
>>>> S: * 1 EXPUNGE
>>>> S: * 1 EXPUNGE
>>>> S: * 1 EXPUNGE
>>>> S: * 0 EXISTS
>>>> S: * 0 RECENT
>>>> S: 3 OK Expunged 3 messages
>>>
>>> IMP is sending exactly the same commands, so it's the server doing that.
>>>
>>> Jan.
>>>
>>> -- 
>>> Do you need professional PHP or Horde consulting?
>>> http://horde.org/consulting/
>>>
>>> -- 
>>> IMP mailing list
>>> Frequently Asked Questions: http://horde.org/faq/
>>> To unsubscribe, mail: imp-unsubscribe at lists.horde.org
>>
>> Sorry, if the problem is the UW-IMP server I don't understand why it 
>> doesn't happen with older IMP (4.1.3) and other email clients like 
>> Thunderbird. Only occur with the latest version of IMP. We ran tests 
>> with the same mailboxes, the only difference is the email client.
>
> Different clients may use different IMAP commands.

>From RFC 4315 (http://tools.ietf.org/html/rfc4315):

2.1. UID EXPUNGE Command


    Arguments:  sequence set

    Data:       untagged responses: EXPUNGE

    Result:     OK - expunge completed
                NO - expunge failure (e.g., permission denied)
                BAD - command unknown or arguments invalid

       The UID EXPUNGE command permanently removes all messages that both
       have the \Deleted flag set and have a UID that is included in the
       specified sequence set from the currently selected mailbox.  If a
       message either does not have the \Deleted flag set or has a UID
       that is not included in the specified sequence set, it is not
       affected.


The commands in the IMAP telemetry log provided by Agustín indicate that 3 
messages were expungedby the server, which should only happen if the 
server thinks that those messages have the \Deleted flag set.

Older IMP versions and other IMAP clients such as Thunderbird probably do 
not support the UIDPLUS extension and only issue the "EXPUNGE" command 
rather than the new "UID EXPUNGE" command.  This could be tickling a bug 
in UW-IMAPD, although I can't find a mention of a bug like this in a 
Google search.

 	Andy


More information about the imp mailing list