The fix should be implemented in the function imap_sync_mailbox() in
imap.c.  Instead of deleting all mail at once the list of UIDs should
be limited to a certain size.  Cyrus 2.1 doesn't like it to be larger
than 8k for example, for Cyrus 2.2 the limit seems to be at 16k I've
heard.

Implementing a loop in this function will probably require the function
imap_make_msg_set() to take another argument so that it can stop after
a certain size is reached.

The IMAP commands for removing mails are

UID STORE <list of uids>
EXPUNGE

Regards,

        Joey

-- 
Never trust an operating system you don't have source for!

Please always Cc to me when replying to me on the lists.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to