Curious behaviour after deleting a mailbox

Dan White dwhite at olp.net
Tue Apr 19 10:04:53 EDT 2011


On 19/04/11 10:57 +0200, Stefan Jurisch wrote:
>Hi,
>
>I'm just examining a curious problem on an Open-Xchange ASE server. I
>have removed a user and so his mailbox, too. After that, all data has
>been gone, including the data directory. So far, so good...
>
>But the problem is: using 'lm' within cyradm still shows a rest of the
>mailbox: user/tanja.heinrich/Trash at ...
>But trying to delete this ends up in a System I/O error because there
>ist no more user subdirectory in the spool. 'ctl_mboxlist' also shows
>this single entry.
>
>Neither a reconstruct or a database recovery did remove that stuff.
>
>Now my question: how can I remove this rest of that mailbox so I can
>create this user completely new? That curious mailbox rest prevents the
>correct new creation of a fully functional mailbox, I guess.

If you're using at least version 2.3.7, you can use cyr_dbtool to remove the
mailbox directly from the mailboxes database. As the cyrus user:

cyrus at mail:/var/spool/imap$ file /var/lib/imap/mailboxes.db 
/var/lib/imap/mailboxes.db: Cyrus skiplist DB

cyrus at mail:/var/spool/imap$ cyr_dbtool /var/lib/imap/mailboxes.db skiplist show user.test1234
user.test1234   (uniqueid 6ebe0fe04dad935f) 0 default test1234 lrswipkxtecda   
user.test1234.trash     (uniqueid 638c3a464dad9368) 0 default test1234 lrswipkxtecda   

cyrus at mail:/var/spool/imap$ cyr_dbtool /var/lib/imap/mailboxes.db skiplist get 'user.test1234.trash'
(uniqueid 638c3a464dad9368) 0 default test1234  lrswipkxtecda   
cyrus at mail:/var/spool/imap$ cyr_dbtool /var/lib/imap/mailboxes.db skiplist delete 'user.test1234.trash'
cyrus at mail:/var/spool/imap$ cyr_dbtool /var/lib/imap/mailboxes.db skiplist get 'user.test1234.trash'

cyrus at mail:/var/spool/imap$ 

Another option was discussed on the list recently, which is to convert the
mailboxes database to flat text, edit the database, and reimport it.

You might also be able to create the directory structure for the mailbox,
perform a reconstruct/cyrreconstruct, then delete the mailbox cyradm (and
then clean up the filesystem).


-- 
Dan White


More information about the Info-cyrus mailing list